diff --git a/.github/actions/setup-solana-cli/action.yaml b/.github/actions/setup-solana-cli/action.yaml index 649a67f2c..8246543fd 100644 --- a/.github/actions/setup-solana-cli/action.yaml +++ b/.github/actions/setup-solana-cli/action.yaml @@ -11,7 +11,7 @@ runs: # ~/.cache/solana/ # ~/.local/share/solana/ # key: solana-${{ runner.os }}-v0000-${{ env.SOLANA_CLI_VERSION }}-${{ env.RUST_TOOLCHAIN }} - - run: sh -c "$(curl -sSfL https://release.solana.com/v${{ env.SOLANA_CLI_VERSION }}/install)" + - run: sh -c "$(curl -sSfL https://release.anza.xyz/v${{ env.SOLANA_CLI_VERSION }}/install)" shell: bash # if: steps.cache-solana.outputs.cache-hit != 'true' - run: echo "/home/runner/.local/share/solana/install/active_release/bin" >> $GITHUB_PATH diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index 19826ed1a..97d78dbc7 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -14,9 +14,9 @@ defaults: working-directory: . env: - RUST_TOOLCHAIN: 1.75.0 - SOLANA_CLI_VERSION: 1.18.17 - ANCHOR_CLI_VERSION: 0.30.1 + RUST_TOOLCHAIN: 1.79.0 + SOLANA_CLI_VERSION: 2.1.20 + ANCHOR_CLI_VERSION: 0.31.1 ANCHOR_SHA: e6d7dafe12da661a36ad1b4f3b5970e8986e5321 CARGO_TERM_COLOR: always @@ -125,7 +125,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: "20.10.0" + node-version: "23.0.0" - uses: ./.github/actions/setup-common/ - uses: ./.github/actions/setup-anchor-cli/ @@ -133,6 +133,9 @@ jobs: - name: Install Node.js dependencies run: yarn install + - name: Build transfer hook program + run: anchor build -p test_transfer_hook --no-idl + - name: Build marginfi program run: anchor build -p marginfi --no-idl -- --no-default-features @@ -191,19 +194,3 @@ jobs: echo "Test run completed successfully without extraneous errors." exit 0 fi - - # - name: Start Solana Test Validator - # run: | - # solana-test-validator --reset --limit-ledger-size 1000 \ - - # - name: Wait for Validator to Start - # run: sleep 60 - - # - name: Deploy Liquidity Incentive Program - # run: solana program deploy --program-id Lip1111111111111111111111111111111111111111 target/deploy/liquidity_incentive_program.so - - # - name: Deploy Marginfi Program - # run: solana program deploy --program-id 2jGhuVUuy3umdzByFx8sNWUAaf5vaeuDm78RDPEnhrMr target/deploy/marginfi.so - - # - name: Deploy Mocks Program - # run: solana program deploy --program-id 5XaaR94jBubdbrRrNW7DtRvZeWvLhSHkEGU3jHTEXV3C target/deploy/mocks.so diff --git a/Anchor.toml b/Anchor.toml index 75ae0d1ca..56b2dd9fc 100644 --- a/Anchor.toml +++ b/Anchor.toml @@ -1,8 +1,16 @@ [toolchain] -anchor_version = "0.30.1" -solana_version = "1.18.17" +anchor_version = "0.31.1" +solana_version = "2.1.20" # Getting "thread 'main' panicked at cli/src/lib.rs:545:18:"? Check your toolchain matches the above. +[workspace] +members = ["programs/marginfi", "programs/mocks", "programs/test_transfer_hook"] +# exclude = [ +# "programs/test_transfer_hook", +# "programs/liquidity-incentive-program", +# "programs/brick", +# ] + [features] resolution = true skip-lint = false @@ -14,7 +22,7 @@ mocks = "5XaaR94jBubdbrRrNW7DtRvZeWvLhSHkEGU3jHTEXV3C" spl_single_pool = "SVSPxpvHdN29nkVg9rPapPNDddN5DipNLRUFhyjFThE" # cloned from solana-labs repo (see below) [programs.mainnet] -liquidity_incentive_program = "LipsxuAkFkwa4RKNzn51wAsW7Dedzt1RNHMkTkDEZUW" +# liquidity_incentive_program = "LipsxuAkFkwa4RKNzn51wAsW7Dedzt1RNHMkTkDEZUW" marginfi = "MFv2hWf31Z9kbCa1snEPYctwafyhdvnV7FZnsebVacA" [registry] diff --git a/Cargo.lock b/Cargo.lock index 46738fbbe..e69de29bb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,8173 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "Inflector" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" -dependencies = [ - "lazy_static", - "regex", -] - -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "aead" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" -dependencies = [ - "generic-array", -] - -[[package]] -name = "aes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" -dependencies = [ - "cfg-if", - "cipher", - "cpufeatures", - "opaque-debug", -] - -[[package]] -name = "aes-gcm-siv" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc" -dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "polyval", - "subtle", - "zeroize", -] - -[[package]] -name = "ahash" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" -dependencies = [ - "getrandom 0.2.15", - "once_cell", - "version_check", -] - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "getrandom 0.2.15", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "alerting" -version = "0.1.0" -dependencies = [ - "anyhow", - "bytemuck", - "chrono", - "env_logger 0.11.5", - "log", - "marginfi", - "pagerduty-rs", - "pyth-sdk-solana", - "pyth-solana-receiver-sdk", - "pythnet-sdk", - "serde", - "solana-account-decoder", - "solana-client", - "solana-sdk", - "structopt", - "switchboard-on-demand", - "switchboard-solana", - "time", - "toml 0.8.19", -] - -[[package]] -name = "aliasable" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" - -[[package]] -name = "alloc-no-stdlib" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" - -[[package]] -name = "alloc-stdlib" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94fb8275041c72129eb51b7d0322c29b8387a0386127718b096429201a5d6ece" -dependencies = [ - "alloc-no-stdlib", -] - -[[package]] -name = "anchor-attribute-access-control" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f619f1d04f53621925ba8a2e633ba5a6081f2ae14758cbb67f38fd823e0a3e" -dependencies = [ - "anchor-syn 0.29.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-access-control" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-syn 0.30.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-account" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f2a3e1df4685f18d12a943a9f2a7456305401af21a07c9fe076ef9ecd6e400" -dependencies = [ - "anchor-syn 0.29.0", - "bs58 0.5.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-account" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-syn 0.30.1", - "bs58 0.5.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-constant" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9423945cb55627f0b30903288e78baf6f62c6c8ab28fb344b6b25f1ffee3dca7" -dependencies = [ - "anchor-syn 0.29.0", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-constant" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-syn 0.30.1", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-error" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ed12720033cc3c3bf3cfa293349c2275cd5ab99936e33dd4bf283aaad3e241" -dependencies = [ - "anchor-syn 0.29.0", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-error" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-syn 0.30.1", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-event" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eef4dc0371eba2d8c8b54794b0b0eb786a234a559b77593d6f80825b6d2c77a2" -dependencies = [ - "anchor-syn 0.29.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-event" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-syn 0.30.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-program" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b18c4f191331e078d4a6a080954d1576241c29c56638783322a18d308ab27e4f" -dependencies = [ - "anchor-syn 0.29.0", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-program" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-lang-idl", - "anchor-syn 0.30.1", - "anyhow", - "bs58 0.5.1", - "heck 0.3.3", - "proc-macro2", - "quote", - "serde_json", - "syn 1.0.109", -] - -[[package]] -name = "anchor-client" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-lang 0.30.1", - "anyhow", - "futures", - "regex", - "serde", - "solana-account-decoder", - "solana-client", - "solana-sdk", - "thiserror", - "tokio", - "url", -] - -[[package]] -name = "anchor-derive-accounts" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de10d6e9620d3bcea56c56151cad83c5992f50d5960b3a9bebc4a50390ddc3c" -dependencies = [ - "anchor-syn 0.29.0", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-accounts" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-syn 0.30.1", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-serde" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e2e5be518ec6053d90a2a7f26843dbee607583c779e6c8395951b9739bdfbe" -dependencies = [ - "anchor-syn 0.29.0", - "borsh-derive-internal 0.10.3", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-serde" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-syn 0.30.1", - "borsh-derive-internal 0.10.3", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-space" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecc31d19fa54840e74b7a979d44bcea49d70459de846088a1d71e87ba53c419" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-space" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-lang" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35da4785497388af0553586d55ebdc08054a8b1724720ef2749d313494f2b8ad" -dependencies = [ - "anchor-attribute-access-control 0.29.0", - "anchor-attribute-account 0.29.0", - "anchor-attribute-constant 0.29.0", - "anchor-attribute-error 0.29.0", - "anchor-attribute-event 0.29.0", - "anchor-attribute-program 0.29.0", - "anchor-derive-accounts 0.29.0", - "anchor-derive-serde 0.29.0", - "anchor-derive-space 0.29.0", - "arrayref", - "base64 0.13.1", - "bincode", - "borsh 0.10.3", - "bytemuck", - "getrandom 0.2.15", - "solana-program", - "thiserror", -] - -[[package]] -name = "anchor-lang" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-attribute-access-control 0.30.1", - "anchor-attribute-account 0.30.1", - "anchor-attribute-constant 0.30.1", - "anchor-attribute-error 0.30.1", - "anchor-attribute-event 0.30.1", - "anchor-attribute-program 0.30.1", - "anchor-derive-accounts 0.30.1", - "anchor-derive-serde 0.30.1", - "anchor-derive-space 0.30.1", - "anchor-lang-idl", - "arrayref", - "base64 0.21.7", - "bincode", - "borsh 0.10.3", - "bytemuck", - "getrandom 0.2.15", - "solana-program", - "thiserror", -] - -[[package]] -name = "anchor-lang-idl" -version = "0.1.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-lang-idl-spec", - "anyhow", - "heck 0.3.3", - "regex", - "serde", - "serde_json", - "sha2 0.10.8", -] - -[[package]] -name = "anchor-lang-idl-spec" -version = "0.1.0" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anyhow", - "serde", -] - -[[package]] -name = "anchor-spl" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c4fd6e43b2ca6220d2ef1641539e678bfc31b6cc393cf892b373b5997b6a39a" -dependencies = [ - "anchor-lang 0.29.0", - "solana-program", - "spl-associated-token-account 2.3.0", - "spl-token 4.0.0", - "spl-token-2022 0.9.0", -] - -[[package]] -name = "anchor-spl" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-lang 0.30.1", - "spl-associated-token-account 3.0.2", - "spl-pod 0.2.2", - "spl-token 4.0.0", - "spl-token-2022 3.0.2", - "spl-token-group-interface 0.2.3", - "spl-token-metadata-interface 0.3.3", -] - -[[package]] -name = "anchor-syn" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9101b84702fed2ea57bd22992f75065da5648017135b844283a2f6d74f27825" -dependencies = [ - "anyhow", - "bs58 0.5.1", - "heck 0.3.3", - "proc-macro2", - "quote", - "serde", - "serde_json", - "sha2 0.10.8", - "syn 1.0.109", - "thiserror", -] - -[[package]] -name = "anchor-syn" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anyhow", - "bs58 0.5.1", - "cargo_toml", - "heck 0.3.3", - "proc-macro2", - "quote", - "serde", - "serde_json", - "sha2 0.10.8", - "syn 1.0.109", - "thiserror", -] - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - -[[package]] -name = "anstream" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" - -[[package]] -name = "anstyle-parse" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] - -[[package]] -name = "anyhow" -version = "1.0.89" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" - -[[package]] -name = "aquamarine" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1da02abba9f9063d786eab1509833ebb2fac0f966862ca59439c76b9c566760" -dependencies = [ - "include_dir", - "itertools", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - -[[package]] -name = "ark-bn254" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" -dependencies = [ - "ark-ec", - "ark-ff", - "ark-std", -] - -[[package]] -name = "ark-ec" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" -dependencies = [ - "ark-ff", - "ark-poly", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", - "itertools", - "num-traits", - "zeroize", -] - -[[package]] -name = "ark-ff" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" -dependencies = [ - "ark-ff-asm", - "ark-ff-macros", - "ark-serialize", - "ark-std", - "derivative", - "digest 0.10.7", - "itertools", - "num-bigint 0.4.6", - "num-traits", - "paste", - "rustc_version", - "zeroize", -] - -[[package]] -name = "ark-ff-asm" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" -dependencies = [ - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-ff-macros" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-poly" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" -dependencies = [ - "ark-ff", - "ark-serialize", - "ark-std", - "derivative", - "hashbrown 0.13.2", -] - -[[package]] -name = "ark-serialize" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" -dependencies = [ - "ark-serialize-derive", - "ark-std", - "digest 0.10.7", - "num-bigint 0.4.6", -] - -[[package]] -name = "ark-serialize-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "ark-std" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" -dependencies = [ - "num-traits", - "rand 0.8.5", -] - -[[package]] -name = "arrayref" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" - -[[package]] -name = "arrayvec" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" - -[[package]] -name = "ascii" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" - -[[package]] -name = "asn1-rs" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" -dependencies = [ - "asn1-rs-derive", - "asn1-rs-impl", - "displaydoc", - "nom", - "num-traits", - "rusticata-macros", - "thiserror", - "time", -] - -[[package]] -name = "asn1-rs-derive" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "synstructure", -] - -[[package]] -name = "asn1-rs-impl" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - -[[package]] -name = "async-compression" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd066d0b4ef8ecb03a55319dc13aa6910616d0f44008a045bb1835af830abff5" -dependencies = [ - "brotli", - "flate2", - "futures-core", - "memchr", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "async-mutex" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-trait" -version = "0.1.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "attohttpc" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fcf00bc6d5abb29b5f97e3c61a90b6d3caa12f3faf897d4a3e3607c050a35a7" -dependencies = [ - "http", - "log", - "native-tls", - "serde", - "serde_json", - "url", -] - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi 0.1.19", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "aws-creds" -version = "0.34.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3776743bb68d4ad02ba30ba8f64373f1be4e082fe47651767171ce75bb2f6cf5" -dependencies = [ - "attohttpc", - "dirs", - "log", - "quick-xml", - "rust-ini", - "serde", - "thiserror", - "time", - "url", -] - -[[package]] -name = "aws-region" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42fed2b9fca70f2908268d057a607f2a906f47edbf856ea8587de9038d264e22" -dependencies = [ - "thiserror", -] - -[[package]] -name = "az" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b7e4c2464d97fe331d41de9d5db0def0a96f4d823b8b32a2efd503578988973" - -[[package]] -name = "backtrace" -version = "0.3.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - -[[package]] -name = "base64" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" - -[[package]] -name = "base64" -version = "0.21.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" - -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -dependencies = [ - "serde", -] - -[[package]] -name = "bitmaps" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" -dependencies = [ - "typenum", -] - -[[package]] -name = "bitvec" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" -dependencies = [ - "funty", - "radium", - "tap", - "wyz", -] - -[[package]] -name = "blake3" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if", - "constant_time_eq", - "digest 0.10.7", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "block-padding", - "generic-array", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "borsh" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" -dependencies = [ - "borsh-derive 0.9.3", - "hashbrown 0.11.2", -] - -[[package]] -name = "borsh" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" -dependencies = [ - "borsh-derive 0.10.3", - "hashbrown 0.13.2", -] - -[[package]] -name = "borsh" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" -dependencies = [ - "borsh-derive 1.5.1", - "cfg_aliases", -] - -[[package]] -name = "borsh-derive" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" -dependencies = [ - "borsh-derive-internal 0.9.3", - "borsh-schema-derive-internal 0.9.3", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" -dependencies = [ - "borsh-derive-internal 0.10.3", - "borsh-schema-derive-internal 0.10.3", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" -dependencies = [ - "once_cell", - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.58", - "syn_derive", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "borsh-schema-derive-internal" -version = "0.10.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "brick" -version = "0.1.0" -dependencies = [ - "anchor-lang 0.30.1", - "solana-program", -] - -[[package]] -name = "brotli" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74f7971dbd9326d58187408ab83117d8ac1bb9c17b085fdacd1cf2f598719b6b" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "4.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a45bd2e4095a8b518033b128020dd4a55aab1c0a381ba4404a472630f4bc362" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - -[[package]] -name = "bs58" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "bv" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340" -dependencies = [ - "feature-probe", - "serde", -] - -[[package]] -name = "bytecheck" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23cdc57ce23ac53c931e88a43d06d070a6fd142f2617be5855eb75efc9beb1c2" -dependencies = [ - "bytecheck_derive", - "ptr_meta", - "simdutf8", -] - -[[package]] -name = "bytecheck_derive" -version = "0.6.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db406d29fbcd95542e92559bed4d8ad92636d1ca8b3b72ede10b4bcc010e659" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "bytemuck" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8334215b81e418a0a7bdb8ef0849474f40bb10c8b71f1c4ed315cff49f32494d" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" - -[[package]] -name = "bzip2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb88496095628e3ef1e347f8" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - -[[package]] -name = "caps" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" -dependencies = [ - "libc", - "thiserror", -] - -[[package]] -name = "cargo_toml" -version = "0.19.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98356df42a2eb1bd8f1793ae4ee4de48e384dd974ce5eac8eee802edb7492be" -dependencies = [ - "serde", - "toml 0.8.19", -] - -[[package]] -name = "cc" -version = "1.0.99" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" -dependencies = [ - "jobserver", - "libc", - "once_cell", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "cfg_aliases" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "serde", - "wasm-bindgen", - "windows-targets 0.52.6", -] - -[[package]] -name = "chrono-humanize" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799627e6b4d27827a814e837b9d8a504832086081806d45b1afa34dc982b023b" -dependencies = [ - "chrono", -] - -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags 1.3.2", - "strsim 0.8.0", - "textwrap 0.11.0", - "unicode-width", - "vec_map", -] - -[[package]] -name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_derive", - "clap_lex", - "indexmap 1.9.3", - "once_cell", - "strsim 0.10.0", - "termcolor", - "textwrap 0.16.1", -] - -[[package]] -name = "clap_derive" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae6371b8bdc8b7d3959e9cf7b22d4435ef3e79e138688421ec654acf8c81b008" -dependencies = [ - "heck 0.4.1", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "clap_lex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" -dependencies = [ - "os_str_bytes", -] - -[[package]] -name = "colorchoice" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" - -[[package]] -name = "combine" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" -dependencies = [ - "ascii", - "byteorder", - "either", - "memchr", - "unreachable", -] - -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "console" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" -dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "unicode-width", - "windows-sys 0.52.0", -] - -[[package]] -name = "console_error_panic_hook" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" -dependencies = [ - "cfg-if", - "wasm-bindgen", -] - -[[package]] -name = "console_log" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89f72f65e8501878b8a004d5a1afb780987e2ce2b4532c562e367a72c57499f" -dependencies = [ - "log", - "web-sys", -] - -[[package]] -name = "const-oid" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" - -[[package]] -name = "constant_time_eq" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" - -[[package]] -name = "core-foundation" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" - -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "ctr" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" -dependencies = [ - "cipher", -] - -[[package]] -name = "curve25519-dalek" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" -dependencies = [ - "byteorder", - "digest 0.9.0", - "rand_core 0.5.1", - "serde", - "subtle", - "zeroize", -] - -[[package]] -name = "darling" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" -dependencies = [ - "darling_core", - "darling_macro", -] - -[[package]] -name = "darling_core" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622687fe0bac72a04e5599029151f5796111b90f1baaa9b544d807a5e31cd120" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.11.1", - "syn 2.0.58", -] - -[[package]] -name = "darling_macro" -version = "0.20.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" -dependencies = [ - "darling_core", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "dashmap" -version = "5.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" -dependencies = [ - "cfg-if", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", - "rayon", -] - -[[package]] -name = "data-encoding" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" - -[[package]] -name = "der" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" -dependencies = [ - "const-oid", -] - -[[package]] -name = "der-parser" -version = "8.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" -dependencies = [ - "asn1-rs", - "displaydoc", - "nom", - "num-bigint 0.4.6", - "num-traits", - "rusticata-macros", -] - -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", - "serde", -] - -[[package]] -name = "derivation-path" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" - -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "dialoguer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" -dependencies = [ - "console", - "shell-words", - "tempfile", - "zeroize", -] - -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer 0.10.4", - "crypto-common", - "subtle", -] - -[[package]] -name = "dir-diff" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7ad16bf5f84253b50d6557681c58c3ab67c47c77d39fed9aeb56e947290bd10" -dependencies = [ - "walkdir", -] - -[[package]] -name = "dirs" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - -[[package]] -name = "dirs-sys" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "displaydoc" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "dlopen2" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09b4f5f101177ff01b8ec4ecc81eead416a8aa42819a2869311b3420fa114ffa" -dependencies = [ - "dlopen2_derive", - "libc", - "once_cell", - "winapi", -] - -[[package]] -name = "dlopen2_derive" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "dlv-list" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" - -[[package]] -name = "downcast" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" - -[[package]] -name = "dyn-clone" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" - -[[package]] -name = "eager" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abe71d579d1812060163dff96056261deb5bf6729b100fa2e36a68b9649ba3d3" - -[[package]] -name = "ed25519" -version = "1.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" -dependencies = [ - "signature", -] - -[[package]] -name = "ed25519-dalek" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" -dependencies = [ - "curve25519-dalek", - "ed25519", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "zeroize", -] - -[[package]] -name = "ed25519-dalek-bip32" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d2be62a4061b872c8c0873ee4fc6f101ce7b889d039f019c5fa2af471a59908" -dependencies = [ - "derivation-path", - "ed25519-dalek", - "hmac 0.12.1", - "sha2 0.10.8", -] - -[[package]] -name = "educe" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f0042ff8246a363dbe77d2ceedb073339e85a804b9a47636c6e016a9a32c05f" -dependencies = [ - "enum-ordinalize", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "enum-iterator" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fd242f399be1da0a5354aa462d57b4ab2b4ee0683cc552f7c007d2d12d36e94" -dependencies = [ - "enum-iterator-derive", -] - -[[package]] -name = "enum-iterator-derive" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "enum-ordinalize" -version = "3.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bf1fa3f06bbff1ea5b1a9c7b14aa992a39657db60a2759457328d7e058f49ee" -dependencies = [ - "num-bigint 0.4.6", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "enum_dispatch" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa18ce2bc66555b3218614519ac839ddb759a7d6720732f979ef8d13be147ecd" -dependencies = [ - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "env_filter" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f2c92ceda6ceec50f43169f9ee8424fe2db276791afde7b2cd8bc084cb376ab" -dependencies = [ - "log", - "regex", -] - -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "env_logger" -version = "0.11.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d" -dependencies = [ - "anstream", - "anstyle", - "env_filter", - "humantime", - "log", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "erased-serde" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24e2389d65ab4fab27dc2a5de7b191e1f6617d1f1c8855c0dc569c94a4cbb18d" -dependencies = [ - "serde", - "typeid", -] - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "fast-math" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2465292146cdfc2011350fe3b1c616ac83cf0faeedb33463ba1c332ed8948d66" -dependencies = [ - "ieee754", -] - -[[package]] -name = "fastrand" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" - -[[package]] -name = "feature-probe" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" - -[[package]] -name = "filetime" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", -] - -[[package]] -name = "fixed" -version = "1.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc715d38bea7b5bf487fcd79bcf8c209f0b58014f3018a7a19c2b855f472048" -dependencies = [ - "az", - "bytemuck", - "half", - "typenum", -] - -[[package]] -name = "fixed-macro" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0c48af8cb14e02868f449f8a2187bd78af7a08da201fdc78d518ecb1675bc" -dependencies = [ - "fixed", - "fixed-macro-impl", - "fixed-macro-types", -] - -[[package]] -name = "fixed-macro-impl" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c93086f471c0a1b9c5e300ea92f5cd990ac6d3f8edf27616ef624b8fa6402d4b" -dependencies = [ - "fixed", - "paste", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "fixed-macro-types" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "044a61b034a2264a7f65aa0c3cd112a01b4d4ee58baace51fead3f21b993c7e4" -dependencies = [ - "fixed", - "fixed-macro-impl", -] - -[[package]] -name = "flate2" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" -dependencies = [ - "crc32fast", - "miniz_oxide", -] - -[[package]] -name = "float-cmp" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98de4bbd547a563b716d8dfa9aad1cb19bfab00f4fa09a6a4ed21dbcf44ce9c4" -dependencies = [ - "num-traits", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "fragile" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" - -[[package]] -name = "funty" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" - -[[package]] -name = "futures" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "serde", - "typenum", - "version_check", -] - -[[package]] -name = "gethostname" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "goblin" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7666983ed0dd8d21a6f6576ee00053ca0926fb281a5522577a4dbd0f1b54143" -dependencies = [ - "log", - "plain", - "scroll", -] - -[[package]] -name = "h2" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap 2.6.0", - "slab", - "tokio", - "tokio-util 0.7.11", - "tracing", -] - -[[package]] -name = "half" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" -dependencies = [ - "cfg-if", - "crunchy", -] - -[[package]] -name = "hash32" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67" -dependencies = [ - "byteorder", -] - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash 0.7.8", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -dependencies = [ - "ahash 0.7.8", -] - -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash 0.8.11", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" - -[[package]] -name = "hashbrown" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -dependencies = [ - "serde", -] - -[[package]] -name = "histogram" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cb882ccb290b8646e554b157ab0b71e64e8d5bef775cd66b6531e52d302669" - -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac", - "digest 0.9.0", -] - -[[package]] -name = "hmac" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "hmac-drbg" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" -dependencies = [ - "digest 0.9.0", - "generic-array", - "hmac 0.8.1", -] - -[[package]] -name = "http" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" - -[[package]] -name = "httpdate" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" - -[[package]] -name = "humantime" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" - -[[package]] -name = "hyper" -version = "0.14.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f361cde2f109281a220d4307746cdfd5ee3f410da58a70377762396775634b33" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.24.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" -dependencies = [ - "futures-util", - "http", - "hyper", - "rustls", - "tokio", - "tokio-rustls", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "ident_case" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ieee754" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9007da9cacbd3e6343da136e98b0d2df013f553d35bdec8b518f07bea768e19c" - -[[package]] -name = "im" -version = "15.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0acd33ff0285af998aaf9b57342af478078f53492322fafc47450e09397e0e9" -dependencies = [ - "bitmaps", - "rand_core 0.6.4", - "rand_xoshiro", - "rayon", - "serde", - "sized-chunks", - "typenum", - "version_check", -] - -[[package]] -name = "include_dir" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "923d117408f1e49d914f1a379a309cffe4f18c05cf4e3d12e613a15fc81bd0dd" -dependencies = [ - "include_dir_macros", -] - -[[package]] -name = "include_dir_macros" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cab85a7ed0bd5f0e76d93846e0147172bed2e2d3f859bcc33a8d9699cad1a75" -dependencies = [ - "proc-macro2", - "quote", -] - -[[package]] -name = "index_list" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb725b6505e51229de32027e0cfcd9db29da4d89156f9747b0a5195643fa3e1" - -[[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.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" -dependencies = [ - "equivalent", - "hashbrown 0.15.0", -] - -[[package]] -name = "indicatif" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" -dependencies = [ - "console", - "instant", - "number_prefix", - "portable-atomic", - "unicode-width", -] - -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "ipnet" -version = "2.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jobserver" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "jsonrpc-core" -version = "18.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14f7f76aef2d054868398427f6c54943cf3d1caa9a7ec7d0c38d69df97a965eb" -dependencies = [ - "futures", - "futures-executor", - "futures-util", - "log", - "serde", - "serde_derive", - "serde_json", -] - -[[package]] -name = "keccak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecc2af9a1119c51f12a14607e783cb977bde58bc069ff0c3da1095e635d70654" -dependencies = [ - "cpufeatures", -] - -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "libc" -version = "0.2.155" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.6.0", - "libc", -] - -[[package]] -name = "libsecp256k1" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9d220bc1feda2ac231cb78c3d26f27676b8cf82c96971f7aeef3d0cf2797c73" -dependencies = [ - "arrayref", - "base64 0.12.3", - "digest 0.9.0", - "hmac-drbg", - "libsecp256k1-core 0.2.2", - "libsecp256k1-gen-ecmult 0.2.1", - "libsecp256k1-gen-genmult 0.2.1", - "rand 0.7.3", - "serde", - "sha2 0.9.9", - "typenum", -] - -[[package]] -name = "libsecp256k1" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b09eff1b35ed3b33b877ced3a691fc7a481919c7e29c53c906226fcf55e2a1" -dependencies = [ - "arrayref", - "base64 0.13.1", - "digest 0.9.0", - "hmac-drbg", - "libsecp256k1-core 0.3.0", - "libsecp256k1-gen-ecmult 0.3.0", - "libsecp256k1-gen-genmult 0.3.0", - "rand 0.8.5", - "serde", - "sha2 0.9.9", - "typenum", -] - -[[package]] -name = "libsecp256k1-core" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f6ab710cec28cef759c5f18671a27dae2a5f952cdaaee1d8e2908cb2478a80" -dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle", -] - -[[package]] -name = "libsecp256k1-core" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5be9b9bb642d8522a44d533eab56c16c738301965504753b03ad1de3425d5451" -dependencies = [ - "crunchy", - "digest 0.9.0", - "subtle", -] - -[[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" -dependencies = [ - "libsecp256k1-core 0.2.2", -] - -[[package]] -name = "libsecp256k1-gen-ecmult" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3038c808c55c87e8a172643a7d87187fc6c4174468159cb3090659d55bcb4809" -dependencies = [ - "libsecp256k1-core 0.3.0", -] - -[[package]] -name = "libsecp256k1-gen-genmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" -dependencies = [ - "libsecp256k1-core 0.2.2", -] - -[[package]] -name = "libsecp256k1-gen-genmult" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3db8d6ba2cec9eacc40e6e8ccc98931840301f1006e95647ceb2dd5c3aa06f7c" -dependencies = [ - "libsecp256k1-core 0.3.0", -] - -[[package]] -name = "light-poseidon" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c9a85a9752c549ceb7578064b4ed891179d20acd85f27318573b64d2d7ee7ee" -dependencies = [ - "ark-bn254", - "ark-ff", - "num-bigint 0.4.6", - "thiserror", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "liquidity-incentive-program" -version = "0.1.0" -dependencies = [ - "anchor-lang 0.30.1", - "anchor-spl 0.30.1", - "anyhow", - "assert_matches", - "bincode", - "cfg-if", - "fixed", - "futures", - "marginfi", - "pretty_assertions", - "solana-logger", - "solana-program", - "solana-program-test", - "solana-sdk", - "test-utilities", -] - -[[package]] -name = "llama-snapshot-tool" -version = "0.1.0" -dependencies = [ - "anchor-client", - "anchor-spl 0.30.1", - "anyhow", - "bytemuck", - "clap 3.2.25", - "env_logger 0.9.3", - "fixed", - "fixed-macro", - "futures", - "lazy_static", - "log", - "marginfi", - "reqwest", - "rust-s3", - "serde", - "serde_json", - "solana-account-decoder", - "solana-client", - "solana-sdk", - "tokio", -] - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" -dependencies = [ - "value-bag", -] - -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown 0.12.3", -] - -[[package]] -name = "lz4" -version = "1.25.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6eab492fe7f8651add23237ea56dbf11b3c4ff762ab83d40a47f11433421f91" -dependencies = [ - "libc", - "lz4-sys", -] - -[[package]] -name = "lz4-sys" -version = "1.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "marginfi" -version = "0.1.3" -dependencies = [ - "anchor-lang 0.29.0", - "anchor-lang 0.30.1", - "anchor-spl 0.30.1", - "anyhow", - "assert_matches", - "base64 0.21.7", - "bincode", - "borsh 0.10.3", - "bytemuck", - "cfg-if", - "enum_dispatch", - "fixed", - "fixed-macro", - "futures", - "lazy_static", - "pretty_assertions", - "pyth-sdk-solana", - "pyth-solana-receiver-sdk", - "pythnet-sdk", - "rust_decimal", - "serde", - "serde_json", - "solana-account-decoder", - "solana-cli-output", - "solana-logger", - "solana-program", - "solana-program-test", - "solana-sdk", - "solana-security-txt", - "spl-tlv-account-resolution 0.6.3", - "spl-transfer-hook-interface 0.6.3", - "static_assertions", - "switchboard-on-demand", - "switchboard-solana", - "test-case", - "test-utilities", - "type-layout", -] - -[[package]] -name = "marginfi-v2-cli" -version = "0.1.0" -dependencies = [ - "anchor-client", - "anchor-spl 0.30.1", - "anyhow", - "bincode", - "borsh 0.10.3", - "bs58 0.4.0", - "bytemuck", - "chrono", - "clap 3.2.25", - "dirs", - "env_logger 0.9.3", - "fixed", - "fixed-macro", - "hex", - "liquidity-incentive-program", - "log", - "marginfi", - "pyth-sdk-solana", - "pyth-solana-receiver-sdk", - "pythnet-sdk", - "rand 0.8.5", - "serde", - "serde_json", - "shellexpand", - "solana-account-decoder", - "solana-address-lookup-table-program", - "solana-client", - "solana-sdk", - "spl-associated-token-account 2.3.0", - "spl-token 4.0.0", - "switchboard-on-demand", - "switchboard-solana", - "type-layout", -] - -[[package]] -name = "maybe-async" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "md5" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "memoffset" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "043175f069eda7b85febe4a74abbaeff828d9f8b448515d3151a14a3542811aa" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - -[[package]] -name = "memoffset" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" -dependencies = [ - "autocfg", -] - -[[package]] -name = "merlin" -version = "3.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d" -dependencies = [ - "byteorder", - "keccak", - "rand_core 0.6.4", - "zeroize", -] - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "minidom" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f45614075738ce1b77a1768912a60c0227525971b03e09122a05b8a34a2a6278" -dependencies = [ - "rxml", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", -] - -[[package]] -name = "mockall" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" -dependencies = [ - "cfg-if", - "downcast", - "fragile", - "lazy_static", - "mockall_derive", - "predicates", - "predicates-tree", -] - -[[package]] -name = "mockall_derive" -version = "0.11.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" -dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "mocks" -version = "0.1.0" -dependencies = [ - "anchor-lang 0.30.1", - "anchor-spl 0.30.1", - "bytemuck", - "static_assertions", -] - -[[package]] -name = "modular-bitfield" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a53d79ba8304ac1c4f9eb3b9d281f21f7be9d4626f72ce7df4ad8fbde4f38a74" -dependencies = [ - "modular-bitfield-impl", - "static_assertions", -] - -[[package]] -name = "modular-bitfield-impl" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a7d5f7076603ebc68de2dc6a650ec331a062a13abaa346975be747bbfa4b789" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "native-tls" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8614eb2c83d59d1c8cc974dd3f920198647674a0a035e1af1fa58707e317466" -dependencies = [ - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset 0.7.1", - "pin-utils", -] - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "normalize-line-endings" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" - -[[package]] -name = "num" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8536030f9fea7127f841b45bb6243b27255787fb4eb83958aa1ef9d2fdc0c36" -dependencies = [ - "num-bigint 0.2.6", - "num-complex 0.2.4", - "num-integer", - "num-iter", - "num-rational 0.2.4", - "num-traits", -] - -[[package]] -name = "num" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" -dependencies = [ - "num-bigint 0.4.6", - "num-complex 0.4.6", - "num-integer", - "num-iter", - "num-rational 0.4.2", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-derive" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num-derive" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "num-integer" -version = "0.1.46" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" -dependencies = [ - "num-traits", -] - -[[package]] -name = "num-iter" -version = "0.1.45" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c000134b5dbf44adc5cb772486d335293351644b801551abe8f75c84cfa4aef" -dependencies = [ - "autocfg", - "num-bigint 0.2.6", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-rational" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" -dependencies = [ - "num-bigint 0.4.6", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - -[[package]] -name = "num_enum" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" -dependencies = [ - "num_enum_derive 0.5.11", -] - -[[package]] -name = "num_enum" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - -[[package]] -name = "num_enum" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" -dependencies = [ - "num_enum_derive 0.7.2", -] - -[[package]] -name = "num_enum_derive" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "num_enum_derive" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" -dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - -[[package]] -name = "object" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" -dependencies = [ - "memchr", -] - -[[package]] -name = "oid-registry" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" -dependencies = [ - "asn1-rs", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "opaque-debug" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" - -[[package]] -name = "openssl" -version = "0.10.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f" -dependencies = [ - "bitflags 2.6.0", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.102" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "opentelemetry" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6105e89802af13fdf48c49d7646d3b533a70e536d818aae7e78ba0433d01acb8" -dependencies = [ - "async-trait", - "crossbeam-channel", - "futures-channel", - "futures-executor", - "futures-util", - "js-sys", - "lazy_static", - "percent-encoding", - "pin-project", - "rand 0.8.5", - "thiserror", -] - -[[package]] -name = "ordered-multimap" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" -dependencies = [ - "dlv-list", - "hashbrown 0.12.3", -] - -[[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - -[[package]] -name = "ouroboros" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db" -dependencies = [ - "aliasable", - "ouroboros_macro", -] - -[[package]] -name = "ouroboros_macro" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" -dependencies = [ - "Inflector", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "pagerduty-rs" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd10bab2b6df910bbe6c4987d76aa4221235103d9a9c000cfabcee6a6abc8f7a" -dependencies = [ - "reqwest", - "serde", - "time", - "url", -] - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.5.2", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac", -] - -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest 0.10.7", -] - -[[package]] -name = "pem" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8835c273a76a90455d7344889b0964598e3316e2a79ede8e36f16bdcf2228b8" -dependencies = [ - "base64 0.13.1", -] - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "percentage" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd23b938276f14057220b707937bcb42fa76dda7560e57a2da30cb52d557937" -dependencies = [ - "num 0.2.1", -] - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkcs8" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" -dependencies = [ - "der", - "spki", - "zeroize", -] - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "plain" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" - -[[package]] -name = "polyval" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" -dependencies = [ - "cfg-if", - "cpufeatures", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "portable-atomic" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" - -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "predicates" -version = "2.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" -dependencies = [ - "difflib", - "float-cmp", - "itertools", - "normalize-line-endings", - "predicates-core", - "regex", -] - -[[package]] -name = "predicates-core" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" - -[[package]] -name = "predicates-tree" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" -dependencies = [ - "predicates-core", - "termtree", -] - -[[package]] -name = "pretty-hex" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5" - -[[package]] -name = "pretty_assertions" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" -dependencies = [ - "diff", - "yansi", -] - -[[package]] -name = "proc-macro-crate" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" -dependencies = [ - "toml 0.5.11", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - -[[package]] -name = "proc-macro-crate" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" -dependencies = [ - "toml_edit 0.21.1", -] - -[[package]] -name = "proc-macro-error" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" -dependencies = [ - "proc-macro-error-attr", - "proc-macro2", - "quote", - "syn 1.0.109", - "version_check", -] - -[[package]] -name = "proc-macro-error-attr" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" -dependencies = [ - "proc-macro2", - "quote", - "version_check", -] - -[[package]] -name = "proc-macro2" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "ptr_meta" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" -dependencies = [ - "ptr_meta_derive", -] - -[[package]] -name = "ptr_meta_derive" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "pyth-sdk" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7aeef4d5f0a9c98ff5af2ddd84a8b89919c512188305b497a9eb9afa97a949" -dependencies = [ - "borsh 0.10.3", - "borsh-derive 0.10.3", - "getrandom 0.2.15", - "hex", - "schemars", - "serde", -] - -[[package]] -name = "pyth-sdk-solana" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f913de6eb29d8def199af3beaee645e84c5281327d58777eff3fdd9f1d37105" -dependencies = [ - "borsh 0.10.3", - "borsh-derive 0.10.3", - "bytemuck", - "num-derive 0.3.3", - "num-traits", - "pyth-sdk", - "serde", - "solana-program", - "thiserror", -] - -[[package]] -name = "pyth-solana-receiver-sdk" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f07e92abfc18154532ed3dabaa7dac8e693b9925bfe28b2915bc8f8c1540ca0" -dependencies = [ - "anchor-lang 0.29.0", - "bytemuck_derive", - "hex", - "pythnet-sdk", - "solana-program", -] - -[[package]] -name = "pythnet-sdk" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "498d20fd330277697aaee92f341bdabdb4695b10e05f054157a18ad8b7746a17" -dependencies = [ - "anchor-lang 0.29.0", - "bincode", - "borsh 0.10.3", - "bytemuck", - "byteorder", - "fast-math", - "hex", - "rustc_version", - "serde", - "sha3 0.10.8", - "slow_primes", - "solana-program", - "thiserror", -] - -[[package]] -name = "qstring" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "qualifier_attr" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "quick-xml" -version = "0.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f50b1c63b38611e7d4d7f68b82d3ad0cc71a2ad2e7f61fc10f1328d917c93cd" -dependencies = [ - "memchr", - "serde", -] - -[[package]] -name = "quinn" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" -dependencies = [ - "bytes", - "pin-project-lite", - "quinn-proto", - "quinn-udp", - "rustc-hash", - "rustls", - "thiserror", - "tokio", - "tracing", -] - -[[package]] -name = "quinn-proto" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "141bf7dfde2fbc246bfd3fe12f2455aa24b0fbd9af535d8c86c7bd1381ff2b1a" -dependencies = [ - "bytes", - "rand 0.8.5", - "ring 0.16.20", - "rustc-hash", - "rustls", - "rustls-native-certs", - "slab", - "thiserror", - "tinyvec", - "tracing", -] - -[[package]] -name = "quinn-udp" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" -dependencies = [ - "bytes", - "libc", - "socket2", - "tracing", - "windows-sys 0.48.0", -] - -[[package]] -name = "quote" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "radium" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.15", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_xoshiro" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f97cdb2a36ed4183de61b2f824cc45c9f1037f28afe0a322e9fff4c108b5aaa" -dependencies = [ - "rand_core 0.6.4", -] - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "rcgen" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" -dependencies = [ - "pem", - "ring 0.16.20", - "time", - "yasna", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" -dependencies = [ - "bitflags 2.6.0", -] - -[[package]] -name = "redox_users" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" -dependencies = [ - "getrandom 0.2.15", - "libredox", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" - -[[package]] -name = "rend" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71fe3824f5629716b1589be05dacd749f6aa084c87e00e016714a8cdfccc997c" -dependencies = [ - "bytecheck", -] - -[[package]] -name = "reqwest" -version = "0.11.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" -dependencies = [ - "async-compression", - "base64 0.21.7", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-rustls", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-native-tls", - "tokio-rustls", - "tokio-util 0.7.11", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "wasm-streams", - "web-sys", - "webpki-roots 0.25.4", - "winreg", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin 0.5.2", - "untrusted 0.7.1", - "web-sys", - "winapi", -] - -[[package]] -name = "ring" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d" -dependencies = [ - "cc", - "cfg-if", - "getrandom 0.2.15", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", - "windows-sys 0.52.0", -] - -[[package]] -name = "rkyv" -version = "0.7.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cba464629b3394fc4dbc6f940ff8f5b4ff5c7aef40f29166fd4ad12acbc99c0" -dependencies = [ - "bitvec", - "bytecheck", - "bytes", - "hashbrown 0.12.3", - "ptr_meta", - "rend", - "rkyv_derive", - "seahash", - "tinyvec", - "uuid", -] - -[[package]] -name = "rkyv_derive" -version = "0.7.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7dddfff8de25e6f62b9d64e6e432bf1c6736c57d20323e15ee10435fbda7c65" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "rpassword" -version = "7.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" -dependencies = [ - "libc", - "rtoolbox", - "windows-sys 0.48.0", -] - -[[package]] -name = "rtoolbox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "rust-ini" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" -dependencies = [ - "cfg-if", - "ordered-multimap", -] - -[[package]] -name = "rust-s3" -version = "0.33.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2ac5ff6acfbe74226fa701b5ef793aaa054055c13ebb7060ad36942956e027" -dependencies = [ - "async-trait", - "aws-creds", - "aws-region", - "base64 0.13.1", - "bytes", - "cfg-if", - "futures", - "hex", - "hmac 0.12.1", - "http", - "log", - "maybe-async", - "md5", - "minidom", - "percent-encoding", - "quick-xml", - "reqwest", - "serde", - "serde_derive", - "sha2 0.10.8", - "thiserror", - "time", - "tokio", - "tokio-stream", - "url", -] - -[[package]] -name = "rust_decimal" -version = "1.35.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" -dependencies = [ - "arrayvec", - "borsh 1.5.1", - "bytes", - "num-traits", - "rand 0.8.5", - "rkyv", - "serde", - "serde_json", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustc_version" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" -dependencies = [ - "semver", -] - -[[package]] -name = "rusticata-macros" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf0c4a6ece9950b9abdb62b1cfcf2a68b3b67a10ba445b3bb85be2a293d0632" -dependencies = [ - "nom", -] - -[[package]] -name = "rustix" -version = "0.38.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" -dependencies = [ - "bitflags 2.6.0", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustls" -version = "0.21.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" -dependencies = [ - "log", - "ring 0.17.8", - "rustls-webpki", - "sct", -] - -[[package]] -name = "rustls-native-certs" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" -dependencies = [ - "openssl-probe", - "rustls-pemfile", - "schannel", - "security-framework", -] - -[[package]] -name = "rustls-pemfile" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" -dependencies = [ - "base64 0.21.7", -] - -[[package]] -name = "rustls-webpki" -version = "0.101.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "rustversion" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "rxml" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a98f186c7a2f3abbffb802984b7f1dfd65dac8be1aafdaabbca4137f53f0dff7" -dependencies = [ - "bytes", - "rxml_validation", - "smartstring", -] - -[[package]] -name = "rxml_validation" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a197350ece202f19a166d1ad6d9d6de145e1d2a8ef47db299abe164dbd7530" - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "schannel" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "schemars" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" -dependencies = [ - "dyn-clone", - "schemars_derive", - "serde", - "serde_json", -] - -[[package]] -name = "schemars_derive" -version = "0.8.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" -dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", - "syn 2.0.58", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "scroll" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" -dependencies = [ - "scroll_derive", -] - -[[package]] -name = "scroll_derive" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "sct" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" -dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", -] - -[[package]] -name = "seahash" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - -[[package]] -name = "security-framework" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" -dependencies = [ - "bitflags 2.6.0", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" - -[[package]] -name = "seqlock" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5c67b6f14ecc5b86c66fa63d76b5092352678545a8a3cdae80aef5128371910" -dependencies = [ - "parking_lot", -] - -[[package]] -name = "serde" -version = "1.0.210" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_bytes" -version = "0.11.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.210" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "serde_derive_internals" -version = "0.29.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "serde_fmt" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d4ddca14104cd60529e8c7f7ba71a2c8acd8f7f5cfcdc2faf97eeb7c3010a4" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_json" -version = "1.0.120" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" -dependencies = [ - "indexmap 2.6.0", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_spanned" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_with" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" -dependencies = [ - "serde", - "serde_with_macros", -] - -[[package]] -name = "serde_with_macros" -version = "2.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" -dependencies = [ - "darling", - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap 2.6.0", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "sha1" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer 0.9.0", - "cfg-if", - "cpufeatures", - "digest 0.9.0", - "opaque-debug", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest 0.10.7", -] - -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug", -] - -[[package]] -name = "sha3" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" -dependencies = [ - "digest 0.10.7", - "keccak", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - -[[package]] -name = "shellexpand" -version = "2.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ccc8076840c4da029af4f87e4e8daeb0fca6b87bbb02e10cb60b791450e11e4" -dependencies = [ - "dirs", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "signature" -version = "1.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" - -[[package]] -name = "simdutf8" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" - -[[package]] -name = "siphasher" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" - -[[package]] -name = "sized-chunks" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" -dependencies = [ - "bitmaps", - "typenum", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slow_primes" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58267dd2fbaa6dceecba9e3e106d2d90a2b02497c0e8b01b8759beccf5113938" -dependencies = [ - "num 0.4.3", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "smartstring" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb72c633efbaa2dd666986505016c32c3044395ceaf881518399d2f4127ee29" -dependencies = [ - "autocfg", - "static_assertions", - "version_check", -] - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "solana-account-decoder" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4973213a11c2e1b924b36e0c6688682b5aa4623f8d4eeaa1204c32cee524e6d6" -dependencies = [ - "Inflector", - "base64 0.21.7", - "bincode", - "bs58 0.4.0", - "bv", - "lazy_static", - "serde", - "serde_derive", - "serde_json", - "solana-config-program", - "solana-sdk", - "spl-token 4.0.0", - "spl-token-2022 1.0.0", - "spl-token-group-interface 0.1.0", - "spl-token-metadata-interface 0.2.0", - "thiserror", - "zstd", -] - -[[package]] -name = "solana-accounts-db" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c06263320e399af20d46c8cebea7a1d5dc1bc56f31f8dfaacf7119576c48a7" -dependencies = [ - "arrayref", - "bincode", - "blake3", - "bv", - "bytemuck", - "byteorder", - "bzip2", - "crossbeam-channel", - "dashmap", - "flate2", - "fnv", - "im", - "index_list", - "itertools", - "lazy_static", - "log", - "lz4", - "memmap2", - "modular-bitfield", - "num-derive 0.4.2", - "num-traits", - "num_cpus", - "num_enum 0.7.2", - "ouroboros", - "percentage", - "qualifier_attr", - "rand 0.8.5", - "rayon", - "regex", - "rustc_version", - "seqlock", - "serde", - "serde_derive", - "smallvec", - "solana-bucket-map", - "solana-config-program", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-measure", - "solana-metrics", - "solana-nohash-hasher", - "solana-program-runtime", - "solana-rayon-threadlimit", - "solana-sdk", - "solana-stake-program", - "solana-system-program", - "solana-vote-program", - "static_assertions", - "strum", - "strum_macros", - "tar", - "tempfile", - "thiserror", -] - -[[package]] -name = "solana-address-lookup-table-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e57cb8f2e90361280b246f70bb7f5f86f4e4ff1ad5bbdfe18a81bea141f03a" -dependencies = [ - "bincode", - "bytemuck", - "log", - "num-derive 0.4.2", - "num-traits", - "rustc_version", - "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-program", - "solana-program-runtime", - "solana-sdk", - "thiserror", -] - -[[package]] -name = "solana-banks-client" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c65a9540370523f3ade7190526309337cc50f1d742b3341dfa7357da3f59a56" -dependencies = [ - "borsh 1.5.1", - "futures", - "solana-banks-interface", - "solana-program", - "solana-sdk", - "tarpc", - "thiserror", - "tokio", - "tokio-serde", -] - -[[package]] -name = "solana-banks-interface" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b1dc20a7a71cf37bcbc2a3a5dfd73d7410a13850aa68d954a9c09e6a77e652" -dependencies = [ - "serde", - "solana-sdk", - "tarpc", -] - -[[package]] -name = "solana-banks-server" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d449d55d3c5c3fe4c9f0c9f790a9feabe294f8ff0b4c6b771a20b2313ad8974a" -dependencies = [ - "bincode", - "crossbeam-channel", - "futures", - "solana-accounts-db", - "solana-banks-interface", - "solana-client", - "solana-runtime", - "solana-sdk", - "solana-send-transaction-service", - "tarpc", - "tokio", - "tokio-serde", -] - -[[package]] -name = "solana-bpf-loader-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1a55b8533f2dc716602e7c1b2bd555d5ac598ef6e80d28a517e6f31baf042e" -dependencies = [ - "bincode", - "byteorder", - "libsecp256k1 0.6.0", - "log", - "scopeguard", - "solana-measure", - "solana-program-runtime", - "solana-sdk", - "solana-zk-token-sdk", - "solana_rbpf", - "thiserror", -] - -[[package]] -name = "solana-bucket-map" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda213af7ae26ce249120f211060d2a85d87fe367c6490ee19b70845cbd320fc" -dependencies = [ - "bv", - "bytemuck", - "log", - "memmap2", - "modular-bitfield", - "num_enum 0.7.2", - "rand 0.8.5", - "solana-measure", - "solana-sdk", - "tempfile", -] - -[[package]] -name = "solana-clap-utils" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909f4553d0b31bb5b97533a6b64cc321a4eace9112d6efbabcf4408ea1b3f1db" -dependencies = [ - "chrono", - "clap 2.34.0", - "rpassword", - "solana-remote-wallet", - "solana-sdk", - "thiserror", - "tiny-bip39", - "uriparse", - "url", -] - -[[package]] -name = "solana-cli-config" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2242c4a0776cdaec1358d0ffc61b32131985a7b2210c491fa465d28c313eb880" -dependencies = [ - "dirs-next", - "lazy_static", - "serde", - "serde_derive", - "serde_yaml", - "solana-clap-utils", - "solana-sdk", - "url", -] - -[[package]] -name = "solana-cli-output" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bada4ba96ef2f351363ba64ce4f592bc584ac48bb7d9da4e41303416b0a21026" -dependencies = [ - "Inflector", - "base64 0.21.7", - "chrono", - "clap 2.34.0", - "console", - "humantime", - "indicatif", - "pretty-hex", - "semver", - "serde", - "serde_json", - "solana-account-decoder", - "solana-clap-utils", - "solana-cli-config", - "solana-rpc-client-api", - "solana-sdk", - "solana-transaction-status", - "solana-vote-program", - "spl-memo", -] - -[[package]] -name = "solana-client" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5cc431df6cc1dd964134fa4ec7df765d3af3fae9c2148f96a3c4fb500290633" -dependencies = [ - "async-trait", - "bincode", - "dashmap", - "futures", - "futures-util", - "indexmap 2.6.0", - "indicatif", - "log", - "quinn", - "rayon", - "solana-connection-cache", - "solana-measure", - "solana-metrics", - "solana-pubsub-client", - "solana-quic-client", - "solana-rpc-client", - "solana-rpc-client-api", - "solana-rpc-client-nonce-utils", - "solana-sdk", - "solana-streamer", - "solana-thin-client", - "solana-tpu-client", - "solana-udp-client", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-compute-budget-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eb36ef3c3a1f38515c1ae0d255c4d6e5e635a856ac2aa1cd5f892b3db58e857" -dependencies = [ - "solana-program-runtime", - "solana-sdk", -] - -[[package]] -name = "solana-config-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38b040d3a42e8f7d80c4a86bb0d49d7aed663b56b0fe0ae135d2d145fb7ae3a" -dependencies = [ - "bincode", - "chrono", - "serde", - "serde_derive", - "solana-program-runtime", - "solana-sdk", -] - -[[package]] -name = "solana-connection-cache" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae02622c63943485f0af3d0896626eaf6478e734f0b6bc61c7cc5320963c6e75" -dependencies = [ - "async-trait", - "bincode", - "crossbeam-channel", - "futures-util", - "indexmap 2.6.0", - "log", - "rand 0.8.5", - "rayon", - "rcgen", - "solana-measure", - "solana-metrics", - "solana-sdk", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-cost-model" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "838532d8437d00958621d2589d6033e9c69ea95cd0936efa8964146e49dcff53" -dependencies = [ - "lazy_static", - "log", - "rustc_version", - "solana-address-lookup-table-program", - "solana-bpf-loader-program", - "solana-compute-budget-program", - "solana-config-program", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-loader-v4-program", - "solana-metrics", - "solana-program-runtime", - "solana-sdk", - "solana-stake-program", - "solana-system-program", - "solana-vote-program", -] - -[[package]] -name = "solana-frozen-abi" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4867f66e9527fa44451c861c1dc6d9b2a7c7a668d7c6a297cdefbe39f4395b33" -dependencies = [ - "block-buffer 0.10.4", - "bs58 0.4.0", - "bv", - "either", - "generic-array", - "im", - "lazy_static", - "log", - "memmap2", - "rustc_version", - "serde", - "serde_bytes", - "serde_derive", - "sha2 0.10.8", - "solana-frozen-abi-macro", - "subtle", - "thiserror", -] - -[[package]] -name = "solana-frozen-abi-macro" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168f24d97347b85f05192df58d6be3e3047a4aadc4001bc1b9e711a5ec878eea" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.58", -] - -[[package]] -name = "solana-loader-v4-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c426482234b7c267a5e0dfa8198442e1ffad2ad6c521f6b810949bc2719215" -dependencies = [ - "log", - "solana-measure", - "solana-program-runtime", - "solana-sdk", - "solana_rbpf", -] - -[[package]] -name = "solana-logger" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0511082fc62f2d086520fff5aa1917c389d8c840930c08ad255ae05952c08a2" -dependencies = [ - "env_logger 0.9.3", - "lazy_static", - "log", -] - -[[package]] -name = "solana-measure" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55a3df105431d25f86f2a7da0cbbde5f54c1f0782ca59367ea4a8037bc6797" -dependencies = [ - "log", - "solana-sdk", -] - -[[package]] -name = "solana-metrics" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddec097ed7572804389195128dbd57958b427829153c6cd8ec3343c86fe3cd22" -dependencies = [ - "crossbeam-channel", - "gethostname", - "lazy_static", - "log", - "reqwest", - "solana-sdk", - "thiserror", -] - -[[package]] -name = "solana-net-utils" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258fa7c29fb7605b8d2ed89aa0d43c640d14f4147ad1f5b3fdad19a1ac145ca5" -dependencies = [ - "bincode", - "clap 3.2.25", - "crossbeam-channel", - "log", - "nix", - "rand 0.8.5", - "serde", - "serde_derive", - "socket2", - "solana-logger", - "solana-sdk", - "solana-version", - "tokio", - "url", -] - -[[package]] -name = "solana-nohash-hasher" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" - -[[package]] -name = "solana-perf" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca422edcf16a6e64003ca118575ea641f7b750f14a0ad28c71dd84f33dcb912a" -dependencies = [ - "ahash 0.8.11", - "bincode", - "bv", - "caps", - "curve25519-dalek", - "dlopen2", - "fnv", - "lazy_static", - "libc", - "log", - "nix", - "rand 0.8.5", - "rayon", - "rustc_version", - "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-metrics", - "solana-rayon-threadlimit", - "solana-sdk", - "solana-vote-program", -] - -[[package]] -name = "solana-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc5a636dc75e5c25651e34f7a36afc9ae60d38166687c5b0375abb580ac81a2" -dependencies = [ - "ark-bn254", - "ark-ec", - "ark-ff", - "ark-serialize", - "base64 0.21.7", - "bincode", - "bitflags 2.6.0", - "blake3", - "borsh 0.10.3", - "borsh 0.9.3", - "borsh 1.5.1", - "bs58 0.4.0", - "bv", - "bytemuck", - "cc", - "console_error_panic_hook", - "console_log", - "curve25519-dalek", - "getrandom 0.2.15", - "itertools", - "js-sys", - "lazy_static", - "libc", - "libsecp256k1 0.6.0", - "light-poseidon", - "log", - "memoffset 0.9.1", - "num-bigint 0.4.6", - "num-derive 0.4.2", - "num-traits", - "parking_lot", - "rand 0.8.5", - "rustc_version", - "rustversion", - "serde", - "serde_bytes", - "serde_derive", - "serde_json", - "sha2 0.10.8", - "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk-macro", - "thiserror", - "tiny-bip39", - "wasm-bindgen", - "zeroize", -] - -[[package]] -name = "solana-program-runtime" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf373c3da0387f47fee4c5ed2465a9628b9db026a62211a692a9285aa9251544" -dependencies = [ - "base64 0.21.7", - "bincode", - "eager", - "enum-iterator", - "itertools", - "libc", - "log", - "num-derive 0.4.2", - "num-traits", - "percentage", - "rand 0.8.5", - "rustc_version", - "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-measure", - "solana-metrics", - "solana-sdk", - "solana_rbpf", - "thiserror", -] - -[[package]] -name = "solana-program-test" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9194b8744c5b135401ab4a2923a1072d3a67697bd50f7450a4ed5302f36a6999" -dependencies = [ - "assert_matches", - "async-trait", - "base64 0.21.7", - "bincode", - "chrono-humanize", - "crossbeam-channel", - "log", - "serde", - "solana-accounts-db", - "solana-banks-client", - "solana-banks-interface", - "solana-banks-server", - "solana-bpf-loader-program", - "solana-logger", - "solana-program-runtime", - "solana-runtime", - "solana-sdk", - "solana-vote-program", - "solana_rbpf", - "test-case", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-pubsub-client" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b9abc76168d19927561db6a3685b98752bd0961b4ce4f8b7f85ee12238c017" -dependencies = [ - "crossbeam-channel", - "futures-util", - "log", - "reqwest", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account-decoder", - "solana-rpc-client-api", - "solana-sdk", - "thiserror", - "tokio", - "tokio-stream", - "tokio-tungstenite", - "tungstenite", - "url", -] - -[[package]] -name = "solana-quic-client" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7952c5306a0be5f5276448cd20246b31265bfa884f29a077a24303c6a16aeb34" -dependencies = [ - "async-mutex", - "async-trait", - "futures", - "itertools", - "lazy_static", - "log", - "quinn", - "quinn-proto", - "rcgen", - "rustls", - "solana-connection-cache", - "solana-measure", - "solana-metrics", - "solana-net-utils", - "solana-rpc-client-api", - "solana-sdk", - "solana-streamer", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-rayon-threadlimit" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4fa0cc66f8e73d769bca2ede3012ba2ef8ab67963e832808665369f2cf81743" -dependencies = [ - "lazy_static", - "num_cpus", -] - -[[package]] -name = "solana-remote-wallet" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "289803796d4ff7b4699504d3ab9e9d9c5205ea3892b2ebe397b377494dbd75d4" -dependencies = [ - "console", - "dialoguer", - "log", - "num-derive 0.4.2", - "num-traits", - "parking_lot", - "qstring", - "semver", - "solana-sdk", - "thiserror", - "uriparse", -] - -[[package]] -name = "solana-rpc-client" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb55a08018776a62ecff52139fbcdab1a7baa4e8f077202be58156e8dde4d5f" -dependencies = [ - "async-trait", - "base64 0.21.7", - "bincode", - "bs58 0.4.0", - "indicatif", - "log", - "reqwest", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account-decoder", - "solana-rpc-client-api", - "solana-sdk", - "solana-transaction-status", - "solana-version", - "solana-vote-program", - "tokio", -] - -[[package]] -name = "solana-rpc-client-api" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a8403038f4d6ab65bc7e7afb3afe8d9824c592232553c5cef55cf3de36025d" -dependencies = [ - "base64 0.21.7", - "bs58 0.4.0", - "jsonrpc-core", - "reqwest", - "semver", - "serde", - "serde_derive", - "serde_json", - "solana-account-decoder", - "solana-sdk", - "solana-transaction-status", - "solana-version", - "spl-token-2022 1.0.0", - "thiserror", -] - -[[package]] -name = "solana-rpc-client-nonce-utils" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4caca735caf76d51c074c3bacbfe38094bf7f92cfbe7b5b13f3bc4946e64f889" -dependencies = [ - "clap 2.34.0", - "solana-clap-utils", - "solana-rpc-client", - "solana-sdk", - "thiserror", -] - -[[package]] -name = "solana-runtime" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b699943045665038bfa4e76dd2582b4c390f1aec6ab5edef36da43afe3469f1d" -dependencies = [ - "aquamarine", - "arrayref", - "base64 0.21.7", - "bincode", - "blake3", - "bv", - "bytemuck", - "byteorder", - "bzip2", - "crossbeam-channel", - "dashmap", - "dir-diff", - "flate2", - "fnv", - "im", - "index_list", - "itertools", - "lazy_static", - "log", - "lru", - "lz4", - "memmap2", - "mockall", - "modular-bitfield", - "num-derive 0.4.2", - "num-traits", - "num_cpus", - "num_enum 0.7.2", - "ouroboros", - "percentage", - "qualifier_attr", - "rand 0.8.5", - "rayon", - "regex", - "rustc_version", - "serde", - "serde_derive", - "serde_json", - "solana-accounts-db", - "solana-address-lookup-table-program", - "solana-bpf-loader-program", - "solana-bucket-map", - "solana-compute-budget-program", - "solana-config-program", - "solana-cost-model", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-loader-v4-program", - "solana-measure", - "solana-metrics", - "solana-perf", - "solana-program-runtime", - "solana-rayon-threadlimit", - "solana-sdk", - "solana-stake-program", - "solana-system-program", - "solana-version", - "solana-vote", - "solana-vote-program", - "solana-zk-token-proof-program", - "solana-zk-token-sdk", - "static_assertions", - "strum", - "strum_macros", - "symlink", - "tar", - "tempfile", - "thiserror", - "zstd", -] - -[[package]] -name = "solana-sdk" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df43d3a1e1637397ab43cbc216a5a8f977ec8a3cc3f3ae8c3851c83a3255dbcf" -dependencies = [ - "assert_matches", - "base64 0.21.7", - "bincode", - "bitflags 2.6.0", - "borsh 1.5.1", - "bs58 0.4.0", - "bytemuck", - "byteorder", - "chrono", - "derivation-path", - "digest 0.10.7", - "ed25519-dalek", - "ed25519-dalek-bip32", - "generic-array", - "hmac 0.12.1", - "itertools", - "js-sys", - "lazy_static", - "libsecp256k1 0.6.0", - "log", - "memmap2", - "num-derive 0.4.2", - "num-traits", - "num_enum 0.7.2", - "pbkdf2 0.11.0", - "qstring", - "qualifier_attr", - "rand 0.7.3", - "rand 0.8.5", - "rustc_version", - "rustversion", - "serde", - "serde_bytes", - "serde_derive", - "serde_json", - "serde_with", - "sha2 0.10.8", - "sha3 0.10.8", - "siphasher", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", - "solana-program", - "solana-sdk-macro", - "thiserror", - "uriparse", - "wasm-bindgen", -] - -[[package]] -name = "solana-sdk-macro" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86c76414183a325038ff020b22c07d1e9d2da0703ddc0244acfed37ee2921d96" -dependencies = [ - "bs58 0.4.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.58", -] - -[[package]] -name = "solana-security-txt" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" - -[[package]] -name = "solana-send-transaction-service" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e056d865d22548bb7228121e118aa632486fc1a33a100961e5e98b5663371384" -dependencies = [ - "crossbeam-channel", - "log", - "solana-client", - "solana-measure", - "solana-metrics", - "solana-runtime", - "solana-sdk", - "solana-tpu-client", -] - -[[package]] -name = "solana-stake-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5dd1bc07beb75da5df5e07301d3d0d6104872c9afade22b910af9061fb4bc15" -dependencies = [ - "bincode", - "log", - "rustc_version", - "solana-config-program", - "solana-program-runtime", - "solana-sdk", - "solana-vote-program", -] - -[[package]] -name = "solana-streamer" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad1bdb955ec6d23a1dbf87e403ff3e610d68616275693125a893d7ed4b2d323" -dependencies = [ - "async-channel", - "bytes", - "crossbeam-channel", - "futures-util", - "histogram", - "indexmap 2.6.0", - "itertools", - "libc", - "log", - "nix", - "pem", - "percentage", - "pkcs8", - "quinn", - "quinn-proto", - "rand 0.8.5", - "rcgen", - "rustls", - "smallvec", - "solana-metrics", - "solana-perf", - "solana-sdk", - "thiserror", - "tokio", - "x509-parser", -] - -[[package]] -name = "solana-system-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78733745268c96d5a29c09cde9f0a6c9d662abba43e661b75dd858da8e3d0b2e" -dependencies = [ - "bincode", - "log", - "serde", - "serde_derive", - "solana-program-runtime", - "solana-sdk", -] - -[[package]] -name = "solana-thin-client" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc301310ba0755c449a8800136f67f8ad14419b366404629894cd10021495360" -dependencies = [ - "bincode", - "log", - "rayon", - "solana-connection-cache", - "solana-rpc-client", - "solana-rpc-client-api", - "solana-sdk", -] - -[[package]] -name = "solana-tpu-client" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb887bd5078ff015e103e9ee54a6713380590efa8ff1804b3a653f07188928c6" -dependencies = [ - "async-trait", - "bincode", - "futures-util", - "indexmap 2.6.0", - "indicatif", - "log", - "rayon", - "solana-connection-cache", - "solana-measure", - "solana-metrics", - "solana-pubsub-client", - "solana-rpc-client", - "solana-rpc-client-api", - "solana-sdk", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-transaction-status" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0cdfdf63192fb60de094fae8e81159e4e3e9aac9659fe3f9ef0e707023fb32" -dependencies = [ - "Inflector", - "base64 0.21.7", - "bincode", - "borsh 0.10.3", - "bs58 0.4.0", - "lazy_static", - "log", - "serde", - "serde_derive", - "serde_json", - "solana-account-decoder", - "solana-sdk", - "spl-associated-token-account 2.3.0", - "spl-memo", - "spl-token 4.0.0", - "spl-token-2022 1.0.0", - "thiserror", -] - -[[package]] -name = "solana-udp-client" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea0d6d8d66e36371577f51c4d1d6192a66f1fa4efe7161a36d94677640dcadb" -dependencies = [ - "async-trait", - "solana-connection-cache", - "solana-net-utils", - "solana-sdk", - "solana-streamer", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-version" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f4c2f531c22ce806b211118be8928a791425f97de4592371fb57b246ed33e34" -dependencies = [ - "log", - "rustc_version", - "semver", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk", -] - -[[package]] -name = "solana-vote" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28ab95a5d19ff0464def1777adaae5a74e1edc9e6818103064c18fdc2643f6cb" -dependencies = [ - "crossbeam-channel", - "itertools", - "log", - "rustc_version", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk", - "solana-vote-program", - "thiserror", -] - -[[package]] -name = "solana-vote-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d8a6486017e71a3714a8e1a635e17209135cc20535ba9808ccf106d80ff6e8b" -dependencies = [ - "bincode", - "log", - "num-derive 0.4.2", - "num-traits", - "rustc_version", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-metrics", - "solana-program", - "solana-program-runtime", - "solana-sdk", - "thiserror", -] - -[[package]] -name = "solana-zk-token-proof-program" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e3dfb2deb449f7eb1dbd0c7e66dd95ec7b1303a5788673f9fbc9b5a5ea59f2" -dependencies = [ - "bytemuck", - "num-derive 0.4.2", - "num-traits", - "solana-program-runtime", - "solana-sdk", - "solana-zk-token-sdk", -] - -[[package]] -name = "solana-zk-token-sdk" -version = "1.18.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513407f88394e437b4ff5aad892bc5bf51a655ae2401e6e63549734d3695c46f" -dependencies = [ - "aes-gcm-siv", - "base64 0.21.7", - "bincode", - "bytemuck", - "byteorder", - "curve25519-dalek", - "getrandom 0.1.16", - "itertools", - "lazy_static", - "merlin", - "num-derive 0.4.2", - "num-traits", - "rand 0.7.3", - "serde", - "serde_json", - "sha3 0.9.1", - "solana-program", - "solana-sdk", - "subtle", - "thiserror", - "zeroize", -] - -[[package]] -name = "solana_rbpf" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d457cc2ba742c120492a64b7fa60e22c575e891f6b55039f4d736568fb112a3" -dependencies = [ - "byteorder", - "combine", - "goblin", - "hash32", - "libc", - "log", - "rand 0.8.5", - "rustc-demangle", - "scroll", - "thiserror", - "winapi", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "spin" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" - -[[package]] -name = "spki" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" -dependencies = [ - "base64ct", - "der", -] - -[[package]] -name = "spl-associated-token-account" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "992d9c64c2564cc8f63a4b508bf3ebcdf2254b0429b13cd1d31adb6162432a5f" -dependencies = [ - "assert_matches", - "borsh 0.10.3", - "num-derive 0.4.2", - "num-traits", - "solana-program", - "spl-token 4.0.0", - "spl-token-2022 1.0.0", - "thiserror", -] - -[[package]] -name = "spl-associated-token-account" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2e688554bac5838217ffd1fab7845c573ff106b6336bf7d290db7c98d5a8efd" -dependencies = [ - "assert_matches", - "borsh 1.5.1", - "num-derive 0.4.2", - "num-traits", - "solana-program", - "spl-token 4.0.0", - "spl-token-2022 3.0.2", - "thiserror", -] - -[[package]] -name = "spl-discriminator" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce5d563b58ef1bb2cdbbfe0dfb9ffdc24903b10ae6a4df2d8f425ece375033f" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator-derive 0.1.2", -] - -[[package]] -name = "spl-discriminator" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34d1814406e98b08c5cd02c1126f83fd407ad084adce0b05fda5730677822eac" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator-derive 0.2.0", -] - -[[package]] -name = "spl-discriminator-derive" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07fd7858fc4ff8fb0e34090e41d7eb06a823e1057945c26d480bfc21d2338a93" -dependencies = [ - "quote", - "spl-discriminator-syn 0.1.2", - "syn 2.0.58", -] - -[[package]] -name = "spl-discriminator-derive" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" -dependencies = [ - "quote", - "spl-discriminator-syn 0.2.0", - "syn 2.0.58", -] - -[[package]] -name = "spl-discriminator-syn" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fea7be851bd98d10721782ea958097c03a0c2a07d8d4997041d0ece6319a63" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.58", - "thiserror", -] - -[[package]] -name = "spl-discriminator-syn" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.58", - "thiserror", -] - -[[package]] -name = "spl-memo" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f180b03318c3dbab3ef4e1e4d46d5211ae3c780940dd0a28695aba4b59a75a" -dependencies = [ - "solana-program", -] - -[[package]] -name = "spl-pod" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2881dddfca792737c0706fa0175345ab282b1b0879c7d877bad129645737c079" -dependencies = [ - "borsh 0.10.3", - "bytemuck", - "solana-program", - "solana-zk-token-sdk", - "spl-program-error 0.3.0", -] - -[[package]] -name = "spl-pod" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046ce669f48cf2eca1ec518916d8725596bfb655beb1c74374cf71dc6cb773c9" -dependencies = [ - "borsh 1.5.1", - "bytemuck", - "solana-program", - "solana-zk-token-sdk", - "spl-program-error 0.4.1", -] - -[[package]] -name = "spl-program-error" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "249e0318493b6bcf27ae9902600566c689b7dfba9f1bdff5893e92253374e78c" -dependencies = [ - "num-derive 0.4.2", - "num-traits", - "solana-program", - "spl-program-error-derive 0.3.2", - "thiserror", -] - -[[package]] -name = "spl-program-error" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49065093ea91f57b9b2bd81493ff705e2ad4e64507a07dbc02b085778e02770e" -dependencies = [ - "num-derive 0.4.2", - "num-traits", - "solana-program", - "spl-program-error-derive 0.4.1", - "thiserror", -] - -[[package]] -name = "spl-program-error-derive" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1845dfe71fd68f70382232742e758557afe973ae19e6c06807b2c30f5d5cb474" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.58", -] - -[[package]] -name = "spl-program-error-derive" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.58", -] - -[[package]] -name = "spl-tlv-account-resolution" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062e148d3eab7b165582757453632ffeef490c02c86a48bfdb4988f63eefb3b9" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-type-length-value 0.3.0", -] - -[[package]] -name = "spl-tlv-account-resolution" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "615d381f48ddd2bb3c57c7f7fb207591a2a05054639b18a62e785117dd7a8683" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-type-length-value 0.3.0", -] - -[[package]] -name = "spl-tlv-account-resolution" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cace91ba08984a41556efe49cbf2edca4db2f577b649da7827d3621161784bf8" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.2.2", - "spl-pod 0.2.2", - "spl-program-error 0.4.1", - "spl-type-length-value 0.4.3", -] - -[[package]] -name = "spl-token" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.3.3", - "num-traits", - "num_enum 0.5.11", - "solana-program", - "thiserror", -] - -[[package]] -name = "spl-token" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08459ba1b8f7c1020b4582c4edf0f5c7511a5e099a7a97570c9698d4f2337060" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.3.3", - "num-traits", - "num_enum 0.6.1", - "solana-program", - "thiserror", -] - -[[package]] -name = "spl-token-2022" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4abf34a65ba420584a0c35f3903f8d727d1f13ababbdc3f714c6b065a686e86" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.4.2", - "num-traits", - "num_enum 0.7.2", - "solana-program", - "solana-zk-token-sdk", - "spl-memo", - "spl-pod 0.1.0", - "spl-token 4.0.0", - "spl-token-metadata-interface 0.2.0", - "spl-transfer-hook-interface 0.3.0", - "spl-type-length-value 0.3.0", - "thiserror", -] - -[[package]] -name = "spl-token-2022" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d697fac19fd74ff472dfcc13f0b442dd71403178ce1de7b5d16f83a33561c059" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.4.2", - "num-traits", - "num_enum 0.7.2", - "solana-program", - "solana-security-txt", - "solana-zk-token-sdk", - "spl-memo", - "spl-pod 0.1.0", - "spl-token 4.0.0", - "spl-token-group-interface 0.1.0", - "spl-token-metadata-interface 0.2.0", - "spl-transfer-hook-interface 0.4.1", - "spl-type-length-value 0.3.0", - "thiserror", -] - -[[package]] -name = "spl-token-2022" -version = "3.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5412f99ae7ee6e0afde00defaa354e6228e47e30c0e3adf553e2e01e6abb584" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.4.2", - "num-traits", - "num_enum 0.7.2", - "solana-program", - "solana-security-txt", - "solana-zk-token-sdk", - "spl-memo", - "spl-pod 0.2.2", - "spl-token 4.0.0", - "spl-token-group-interface 0.2.3", - "spl-token-metadata-interface 0.3.3", - "spl-transfer-hook-interface 0.6.3", - "spl-type-length-value 0.4.3", - "thiserror", -] - -[[package]] -name = "spl-token-group-interface" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b889509d49fa74a4a033ca5dae6c2307e9e918122d97e58562f5c4ffa795c75d" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", -] - -[[package]] -name = "spl-token-group-interface" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d419b5cfa3ee8e0f2386fd7e02a33b3ec8a7db4a9c7064a2ea24849dc4a273b6" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.2.2", - "spl-pod 0.2.2", - "spl-program-error 0.4.1", -] - -[[package]] -name = "spl-token-metadata-interface" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c16ce3ba6979645fb7627aa1e435576172dd63088dc7848cb09aa331fa1fe4f" -dependencies = [ - "borsh 0.10.3", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-type-length-value 0.3.0", -] - -[[package]] -name = "spl-token-metadata-interface" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30179c47e93625680dabb620c6e7931bd12d62af390f447bc7beb4a3a9b5feee" -dependencies = [ - "borsh 1.5.1", - "solana-program", - "spl-discriminator 0.2.2", - "spl-pod 0.2.2", - "spl-program-error 0.4.1", - "spl-type-length-value 0.4.3", -] - -[[package]] -name = "spl-transfer-hook-interface" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051d31803f873cabe71aec3c1b849f35248beae5d19a347d93a5c9cccc5d5a9b" -dependencies = [ - "arrayref", - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-tlv-account-resolution 0.4.0", - "spl-type-length-value 0.3.0", -] - -[[package]] -name = "spl-transfer-hook-interface" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aabdb7c471566f6ddcee724beb8618449ea24b399e58d464d6b5bc7db550259" -dependencies = [ - "arrayref", - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-tlv-account-resolution 0.5.1", - "spl-type-length-value 0.3.0", -] - -[[package]] -name = "spl-transfer-hook-interface" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a98359769cd988f7b35c02558daa56d496a7e3bd8626e61f90a7c757eedb9b" -dependencies = [ - "arrayref", - "bytemuck", - "solana-program", - "spl-discriminator 0.2.2", - "spl-pod 0.2.2", - "spl-program-error 0.4.1", - "spl-tlv-account-resolution 0.6.3", - "spl-type-length-value 0.4.3", -] - -[[package]] -name = "spl-type-length-value" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a468e6f6371f9c69aae760186ea9f1a01c2908351b06a5e0026d21cfc4d7ecac" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", -] - -[[package]] -name = "spl-type-length-value" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "422ce13429dbd41d2cee8a73931c05fda0b0c8ca156a8b0c19445642550bb61a" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.2.2", - "spl-pod 0.2.2", - "spl-program-error 0.4.1", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "structopt" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" -dependencies = [ - "clap 2.34.0", - "lazy_static", - "structopt-derive", -] - -[[package]] -name = "structopt-derive" -version = "0.4.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" -dependencies = [ - "heck 0.3.3", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "strum" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.24.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote", - "rustversion", - "syn 1.0.109", -] - -[[package]] -name = "subtle" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" - -[[package]] -name = "superslice" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" - -[[package]] -name = "sval" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53eb957fbc79a55306d5d25d87daf3627bc3800681491cda0709eef36c748bfe" - -[[package]] -name = "sval_buffer" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96e860aef60e9cbf37888d4953a13445abf523c534640d1f6174d310917c410d" -dependencies = [ - "sval", - "sval_ref", -] - -[[package]] -name = "sval_dynamic" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea3f2b07929a1127d204ed7cb3905049381708245727680e9139dac317ed556f" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_fmt" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4e188677497de274a1367c4bda15bd2296de4070d91729aac8f0a09c1abf64d" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_json" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f456c07dae652744781f2245d5e3b78e6a9ebad70790ac11eb15dbdbce5282" -dependencies = [ - "itoa", - "ryu", - "sval", -] - -[[package]] -name = "sval_nested" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "886feb24709f0476baaebbf9ac10671a50163caa7e439d7a7beb7f6d81d0a6fb" -dependencies = [ - "sval", - "sval_buffer", - "sval_ref", -] - -[[package]] -name = "sval_ref" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be2e7fc517d778f44f8cb64140afa36010999565528d48985f55e64d45f369ce" -dependencies = [ - "sval", -] - -[[package]] -name = "sval_serde" -version = "2.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79bf66549a997ff35cd2114a27ac4b0c2843280f2cfa84b240d169ecaa0add46" -dependencies = [ - "serde", - "sval", - "sval_nested", -] - -[[package]] -name = "switchboard-common" -version = "0.11.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c96fe58be35530580b729fa5d846661c89a007982527f4ff0ca6010168564159" -dependencies = [ - "base64 0.21.7", - "hex", - "log", - "serde", - "serde_json", - "sha2 0.10.8", - "sha3 0.10.8", -] - -[[package]] -name = "switchboard-on-demand" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3852951c42f8876a443060b6882bda945f1621224236ead37959e80f5369cf81" -dependencies = [ - "arc-swap", - "async-trait", - "base64 0.21.7", - "bincode", - "borsh 0.10.3", - "bytemuck", - "futures", - "lazy_static", - "libsecp256k1 0.7.1", - "log", - "num 0.4.3", - "rust_decimal", - "serde", - "serde_json", - "sha2 0.10.8", - "solana-address-lookup-table-program", - "solana-program", - "spl-associated-token-account 2.3.0", - "spl-token 3.5.0", - "switchboard-common", -] - -[[package]] -name = "switchboard-solana" -version = "0.29.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bb0cb2cd26bcd72a11fae679d07207bca093c303c9cc72bcdc7866bb7bf8a6b" -dependencies = [ - "anchor-lang 0.29.0", - "anchor-spl 0.29.0", - "bytemuck", - "hex", - "kv-log-macro", - "lazy_static", - "libsecp256k1 0.7.1", - "log", - "rust_decimal", - "solana-address-lookup-table-program", - "solana-program", - "superslice", - "switchboard-common", -] - -[[package]] -name = "symlink" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7973cce6668464ea31f176d85b13c7ab3bba2cb3b77a2ed26abd7801688010a" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "sync_wrapper" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" - -[[package]] -name = "synstructure" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "unicode-xid", -] - -[[package]] -name = "system-configuration" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "system-configuration-sys", -] - -[[package]] -name = "system-configuration-sys" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75fb188eb626b924683e3b95e3a48e63551fcfb51949de2f06a9d91dbee93c9" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "tap" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" - -[[package]] -name = "tar" -version = "0.4.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" -dependencies = [ - "filetime", - "libc", - "xattr", -] - -[[package]] -name = "tarpc" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38a012bed6fb9681d3bf71ffaa4f88f3b4b9ed3198cda6e4c8462d24d4bb80" -dependencies = [ - "anyhow", - "fnv", - "futures", - "humantime", - "opentelemetry", - "pin-project", - "rand 0.8.5", - "serde", - "static_assertions", - "tarpc-plugins", - "thiserror", - "tokio", - "tokio-serde", - "tokio-util 0.6.10", - "tracing", - "tracing-opentelemetry", -] - -[[package]] -name = "tarpc-plugins" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee42b4e559f17bce0385ebf511a7beb67d5cc33c12c96b7f4e9789919d9c10f" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "tempfile" -version = "3.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand", - "rustix", - "windows-sys 0.52.0", -] - -[[package]] -name = "termcolor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "termtree" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" - -[[package]] -name = "test-case" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8" -dependencies = [ - "test-case-macros", -] - -[[package]] -name = "test-case-core" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f" -dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "test-case-macros" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", - "test-case-core", -] - -[[package]] -name = "test-utilities" -version = "0.1.0" -dependencies = [ - "anchor-lang 0.29.0", - "anchor-lang 0.30.1", - "anchor-spl 0.30.1", - "anyhow", - "assert_matches", - "bincode", - "bytemuck", - "fixed", - "fixed-macro", - "futures", - "lazy_static", - "liquidity-incentive-program", - "marginfi", - "pretty_assertions", - "pyth-sdk-solana", - "pyth-solana-receiver-sdk", - "pythnet-sdk", - "serde", - "serde_json", - "solana-cli-output", - "solana-logger", - "solana-program", - "solana-program-test", - "solana-sdk", - "spl-discriminator 0.2.2", - "spl-tlv-account-resolution 0.6.3", - "spl-token-2022 3.0.2", - "spl-transfer-hook-interface 0.6.3", - "static_assertions", - "switchboard-on-demand", - "switchboard-solana", - "test_transfer_hook", - "type-layout", -] - -[[package]] -name = "test_transfer_hook" -version = "0.1.0" -dependencies = [ - "solana-program", - "spl-tlv-account-resolution 0.6.3", - "spl-token-2022 3.0.2", - "spl-transfer-hook-interface 0.6.3", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "textwrap" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" - -[[package]] -name = "thiserror" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa", - "num-conv", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", -] - -[[package]] -name = "tiny-bip39" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" -dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash", - "sha2 0.9.9", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-macros" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-rustls" -version = "0.24.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" -dependencies = [ - "rustls", - "tokio", -] - -[[package]] -name = "tokio-serde" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "911a61637386b789af998ee23f50aa30d5fd7edcec8d6d3dedae5e5815205466" -dependencies = [ - "bincode", - "bytes", - "educe", - "futures-core", - "futures-sink", - "pin-project", - "serde", - "serde_json", -] - -[[package]] -name = "tokio-stream" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tokio-tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" -dependencies = [ - "futures-util", - "log", - "rustls", - "tokio", - "tokio-rustls", - "tungstenite", - "webpki-roots 0.25.4", -] - -[[package]] -name = "tokio-util" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "log", - "pin-project-lite", - "slab", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.22.22", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.6.0", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.6.0", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" -dependencies = [ - "indexmap 2.6.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.20", -] - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "log", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-opentelemetry" -version = "0.17.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbbe89715c1dbbb790059e2565353978564924ee85017b5fff365c872ff6721f" -dependencies = [ - "once_cell", - "opentelemetry", - "tracing", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" -dependencies = [ - "sharded-slab", - "thread_local", - "tracing-core", -] - -[[package]] -name = "try-lock" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" - -[[package]] -name = "tungstenite" -version = "0.20.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dac10fd62eaf6617d3a904ae222845979aec67c615d1c842b4002c7666fb9" -dependencies = [ - "byteorder", - "bytes", - "data-encoding", - "http", - "httparse", - "log", - "rand 0.8.5", - "rustls", - "sha1", - "thiserror", - "url", - "utf-8", - "webpki-roots 0.24.0", -] - -[[package]] -name = "type-layout" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074069282ba5be5078f1bdb34112b963516d50f262bf4c1082fee1f6ada11d74" -dependencies = [ - "memoffset 0.5.6", - "type-layout-derive", -] - -[[package]] -name = "type-layout-derive" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc4a1cf66ce820973c4b31c5ef47a8e930a53ffbcec191212c33f5a3ad75c6cd" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "typeid" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "059d83cc991e7a42fc37bd50941885db0888e34209f8cfd9aab07ddec03bc9cf" - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-width" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" - -[[package]] -name = "unicode-xid" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" - -[[package]] -name = "universal-hash" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -dependencies = [ - "void", -] - -[[package]] -name = "unsafe-libyaml" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "untrusted" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" - -[[package]] -name = "uriparse" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0200d0fc04d809396c2ad43f3c95da3582a2556eba8d453c1087f4120ee352ff" -dependencies = [ - "fnv", - "lazy_static", -] - -[[package]] -name = "url" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "uuid" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81dfa00651efa65069b0b6b651f4aaa31ba9e3c3ce0137aaad053604ee7e0314" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "value-bag" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101" -dependencies = [ - "value-bag-serde1", - "value-bag-sval2", -] - -[[package]] -name = "value-bag-serde1" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccacf50c5cb077a9abb723c5bcb5e0754c1a433f1e1de89edc328e2760b6328b" -dependencies = [ - "erased-serde", - "serde", - "serde_fmt", -] - -[[package]] -name = "value-bag-sval2" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1785bae486022dfb9703915d42287dcb284c1ee37bd1080eeba78cc04721285b" -dependencies = [ - "sval", - "sval_buffer", - "sval_dynamic", - "sval_fmt", - "sval_json", - "sval_ref", - "sval_serde", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" -dependencies = [ - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.58", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.42" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "wasm-streams" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b65dc4c90b63b118468cf747d8bf3566c1913ef60be765b5730ead9e0a3ba129" -dependencies = [ - "futures-util", - "js-sys", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki-roots" -version = "0.24.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888" -dependencies = [ - "rustls-webpki", -] - -[[package]] -name = "webpki-roots" -version = "0.25.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.6.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.50.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "wyz" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" -dependencies = [ - "tap", -] - -[[package]] -name = "x509-parser" -version = "0.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" -dependencies = [ - "asn1-rs", - "base64 0.13.1", - "data-encoding", - "der-parser", - "lazy_static", - "nom", - "oid-registry", - "rusticata-macros", - "thiserror", - "time", -] - -[[package]] -name = "xattr" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" -dependencies = [ - "libc", - "linux-raw-sys", - "rustix", -] - -[[package]] -name = "yansi" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" - -[[package]] -name = "yasna" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" -dependencies = [ - "time", -] - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "zeroize" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" -dependencies = [ - "zeroize_derive", -] - -[[package]] -name = "zeroize_derive" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] - -[[package]] -name = "zstd" -version = "0.11.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/Cargo.toml b/Cargo.toml index 786a76fee..681c1be6e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,46 +1,81 @@ [workspace] resolver = "2" -members = ["programs/*", "clients/rust/*", "tools/*"] +members = [ + "programs/marginfi", + "test-utils", + "programs/mocks", + "programs/test_transfer_hook", +] +# exclude = [ +# "programs/liquidity-incentive-program", +# "programs/brick", +# ] [workspace.dependencies] -solana-cli-output = "=1.18.17" -solana-client = "=1.18.17" -solana-sdk = "=1.18.17" -solana-logger = "=1.18.17" -solana-program = "=1.18.17" -solana-program-test = "=1.18.17" -solana-account-decoder = "=1.18.17" -solana-measure = "=1.18.17" -solana-metrics = "=1.18.17" -solana-transaction-status = "=1.18.17" -solana-address-lookup-table-program = "=1.18.17" -spl-token = "4.0.0" -spl-associated-token-account = "2.2.0" -spl-transfer-hook-interface = "0.6.3" -spl-tlv-account-resolution = "0.6.3" -spl-discriminator = "0.2.2" -spl-token-2022 = "3.0.2" - -anchor-lang = { git = "https://github.com/mrgnlabs/anchor.git", rev = "fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" } -anchor-lang-29 = { version = "0.29.0", package = "anchor-lang" } -anchor-spl = { git = "https://github.com/mrgnlabs/anchor.git", features = [ - "token_2022", -], rev = "fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" } -anchor-client = { git = "https://github.com/mrgnlabs/anchor.git", rev = "fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" } - -pyth-sdk-solana = "=0.10.1" +solana-cli-output = "=2.1.20" +solana-client = "=2.1.20" +solana-sdk = "=2.1.20" +solana-logger = "=2.1.20" +solana-program = "=2.1.20" +solana-program-test = "=2.1.20" +solana-account-decoder = "=2.1.20" +# solana-measure = "=2.1.20" +# solana-metrics = "=2.1.20" +# solana-transaction-status = "=2.1.20" +# solana-address-lookup-table-program = "=2.1.20" +spl-token = "8.0.0" +# spl-associated-token-account = "2.2.0" +spl-transfer-hook-interface = "0.9.0" +spl-tlv-account-resolution = "0.9.0" +# spl-discriminator = "0.2.2" +spl-token-2022 = { version = "7.0.0", features = ["no-entrypoint"] } + +anchor-lang = { version = "0.31.1" } +anchor-spl = { version = "0.31.1", features = ["token_2022"] } +anchor-client = { version = "0.31.1" } + +fixtures = { path = "test-utils", package = "test-utilities" } +marginfi = { path = "programs/marginfi", package = "marginfi" } +transfer_hook = { path = "programs/test_transfer_hook", package = "test_transfer_hook" } + +pyth-sdk-solana = "=0.10.4" pyth-solana-receiver-sdk = "0.6.0" pythnet-sdk = "2.3.1" -switchboard-solana = "0.29.0" -switchboard-on-demand = "0.1.14" -borsh = "0.10.3" +switchboard-on-demand = "0.3.5" + +borsh = "1.5.7" +bytemuck = "1.22.0" +# Note: 1.29.0 and later require Rust 1.83+ which solana does not ship with (yet) +fixed = "=1.28.0" +fixed-macro = "1.2.0" +lazy_static = "1.4.0" +type-layout = "0.2.0" +static_assertions = "1.1.0" [profile.release] -overflow-checks = true -lto = "fat" -codegen-units = 1 - -[profile.release.build-override] -opt-level = 3 -incremental = false -codegen-units = 1 +overflow-checks = false +lto = "off" +codegen-units = 8 + +## Build options for release (build-program-verifiable should use these through env settings) +# [profile.release] +# overflow-checks = true +# lto = "fat" +# codegen-units = 1 + +# [profile.release.build-override] +# opt-level = 3 +# incremental = false +# codegen-units = 1 + + +## Notes for usable lockfile generation in Solana land +# OUTDATED Patch a version of half compatabile with fixed and Rust <=1.79: +# cargo update -p half --precise 2.4.1 +# +# OUTDATED Patch zerofrom and litemap: +# cargo update -p zerofrom --precise 0.1.5 +# cargo update -p litemap --precise 0.7.4 + +## To fix the Anchor idl generation bug: +# cargo update -p proc-macro2 --precise 1.0.95 \ No newline at end of file diff --git a/clients/rust/marginfi-cli/src/processor/mod.rs b/clients/rust/marginfi-cli/src/processor/mod.rs index 160df7f62..8164a3dd4 100644 --- a/clients/rust/marginfi-cli/src/processor/mod.rs +++ b/clients/rust/marginfi-cli/src/processor/mod.rs @@ -769,7 +769,7 @@ fn handle_bankruptcy_for_an_account( data: marginfi::instruction::LendingPoolHandleBankruptcy {}.data(), }; - if token_program == spl_token_2022::ID { + if token_program == anchor_spl::token_2022::ID { handle_bankruptcy_ix .accounts .push(AccountMeta::new_readonly(bank.mint, false)); @@ -923,7 +923,7 @@ fn make_bankruptcy_ix( data: marginfi::instruction::LendingPoolHandleBankruptcy {}.data(), }; - if token_program == spl_token_2022::ID { + if token_program == anchor_spl::token_2022::ID { handle_bankruptcy_ix .accounts .push(AccountMeta::new_readonly(bank.mint, false)); @@ -2128,7 +2128,7 @@ pub fn marginfi_account_deposit( } .data(), }; - if token_program == spl_token_2022::ID { + if token_program == anchor_spl::token_2022::ID { ix.accounts .push(AccountMeta::new_readonly(bank.mint, false)); } @@ -2215,7 +2215,7 @@ pub fn marginfi_account_withdraw( .data(), }; - if token_program == spl_token_2022::ID { + if token_program == anchor_spl::token_2022::ID { ix.accounts .push(AccountMeta::new_readonly(bank.mint, false)); } @@ -2310,7 +2310,7 @@ pub fn marginfi_account_borrow( data: marginfi::instruction::LendingAccountBorrow { amount }.data(), }; - if token_program == spl_token_2022::ID { + if token_program == anchor_spl::token_2022::ID { ix.accounts .push(AccountMeta::new_readonly(bank.mint, false)); } @@ -2432,7 +2432,7 @@ pub fn marginfi_account_liquidate( ix.accounts.extend(oracle_accounts); - if token_program == spl_token_2022::ID { + if token_program == anchor_spl::token_2022::ID { ix.accounts .push(AccountMeta::new_readonly(liability_bank.mint, false)); } diff --git a/guides/GETTING_STARTED_DEV.md b/guides/GETTING_STARTED_DEV.md index 7909020b1..42049a23f 100644 --- a/guides/GETTING_STARTED_DEV.md +++ b/guides/GETTING_STARTED_DEV.md @@ -2,14 +2,14 @@ New developer getting started working on the mrgnv2 program side? Read on. -### Things to Install (Feb 2025) +### Things to Install (April 2025) - rust/cargo - latest stable - node - 23.0.0 - yarn - 1.22.22 -- avm - 0.30.1 -- anchor - 0.30.1 -- solana - 1.18.17 +- avm - 0.30.1 or later +- anchor - 0.31.1 +- solana - 2.1.20 - cargo-nextest - use `cargo install cargo-nextest --version "0.9.81" --locked` exactly - cargo-fuzz - 0.12.0 @@ -30,7 +30,29 @@ anchor test --skip-build Note: you may need to build the other programs (mock, liquidity incentive, etc) if you have never run anchor build before. -Segmentation fault? Just try again. That happens sometimes. +Segmentation fault? Just try again. That happens sometimes, generally on the first run of the day. + +Each letter prefix is referred to as a "suite" and is broadly end-to-end. The localnet tests +multithread with bankrun and will create a fairly substantial CPU load. Completetion varies +substantially by hardware. If you your workflow is too slow, go to this portion of Anchor.toml and +comment out the top line, comment in the suite you actually want to run: + +``` +[scripts] +test = "RUST_LOG= yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/*.spec.ts --exit --require tests/rootHooks.ts" + +# Staked collateral tests only +# test = "RUST_LOG= yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/s*.spec.ts --exit --require tests/rootHooks.ts" + +# Pyth pull tests only +# test = "RUST_LOG= yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/p*.spec.ts --exit --require tests/rootHooks.ts" + +# Edmode tests only +# test = "RUST_LOG= yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/e*.spec.ts --exit --require tests/rootHooks.ts" +``` + +Note: You cannot run individual tests, most of the tests in a suite must run in order, where the +number after the prefix determines their run order through the magic of filenames. ### For the Rust test suite: @@ -47,19 +69,29 @@ This is much slower than the remix test command, but stable on any system. ./scripts/test-program-remix.sh -p marginfi -l warn -c mainnet-beta -f mainnet-beta ``` -This will throttle your CPU and may error sporadically as a reminder to buy a better CPU if you try to do anything else (like say, compile another Rust repo) while this is running. +This will throttle your CPU and may error sporadically as a reminder to buy a better CPU if you try to do anything else (like say, compile another Rust repo) while this is running. It is approximately 10x faster than test-program.sh, so use this one if you value your time and sanity. Feel free to add your flex below: Benchmarks: - 9700X: `Summary [ 6.302s] 238 tests run: 238 passed, 0 skipped` -### To just one Rust test: +### To run just one Rust test: ``` ./scripts/single-test.sh marginfi accrue_interest --verbose ./scripts/single-test.sh test_name --verbose ``` +### To run the fuzz suite + +Don't. + +If you really want to, open the fuzz directory in a new IDE window (it's not part of the workspace, +by design). Run the generate-corpus Python script (you may need to install Python), then cargo +build, then run it. It may take a very long time and use a very large amount of disk space. +Typically, we run this to see if there are errors, and close it early if there are not, there is +typically no need to wait for the suite to finish locally. + ## Common issues ### The TS suite fails with `Environment supports crypto: false` at the top diff --git a/package.json b/package.json index 8e5e0f561..91e8ee0df 100644 --- a/package.json +++ b/package.json @@ -4,13 +4,13 @@ "lint": "prettier */*.js \"*/**/*{.js,.ts}\" --check" }, "dependencies": { - "@coral-xyz/anchor": "^0.30.1", - "@coral-xyz/spl-token": "^0.30.1", - "@mrgnlabs/marginfi-client-v2": "^4.0.0", - "@mrgnlabs/mrgn-common": "^1.8.0", + "@coral-xyz/anchor": "0.31.0", + "@coral-xyz/spl-token": "^0.31.1", + "@mrgnlabs/marginfi-client-v2": "^6.0.1", + "@mrgnlabs/mrgn-common": "^2.0.2", "@solana/spl-single-pool-classic": "^1.0.2", "@solana/spl-token": "^0.4.8", - "@solana/web3.js": "^1.95.2", + "@solana/web3.js": "^1.98.0", "bignumber.js": "^9.1.2", "mocha": "^10.2.0", "ts-mocha": "^10.0.0" @@ -19,11 +19,11 @@ "@types/bn.js": "^5.1.0", "@types/chai": "^4.3.0", "@types/mocha": "^10.0.10", - "anchor-bankrun": "^0.4.0", + "anchor-bankrun": "^0.5.0", "big.js": "^6.2.1", "chai": "^4.3.4", "prettier": "^2.6.2", - "solana-bankrun": "^0.3.0", + "solana-bankrun": "^0.4.0", "ts-node": "^10.9.1", "typescript": "^5.7.3" } diff --git a/programs/brick/Cargo.toml b/programs/brick/Cargo.toml index 1bca36c77..9fdec88a9 100644 --- a/programs/brick/Cargo.toml +++ b/programs/brick/Cargo.toml @@ -19,4 +19,4 @@ test = [] [dependencies] # Remove workspace = true if already defined in the root Cargo.toml anchor-lang = { workspace = true } -solana-program = { workspace = true } +# solana-program = { workspace = true } diff --git a/programs/liquidity-incentive-program/Cargo.toml b/programs/liquidity-incentive-program/Cargo.toml index a4eec9871..7dbe3e0e0 100644 --- a/programs/liquidity-incentive-program/Cargo.toml +++ b/programs/liquidity-incentive-program/Cargo.toml @@ -33,7 +33,7 @@ features = ["cpi"] [dev-dependencies] solana-logger = { workspace = true } -solana-program = { workspace = true } +# solana-program = { workspace = true } solana-program-test = { workspace = true } solana-sdk = { workspace = true } @@ -42,6 +42,6 @@ assert_matches = "1.5.0" bincode = "1.3.3" futures = "0.3.25" pretty_assertions = "1.2.1" -fixtures = { path = "../../test-utils", package = "test-utilities", features = [ - "lip", -] } +# fixtures = { path = "../../test-utils", package = "test-utilities", features = [ +# "lip", +# ] } diff --git a/programs/marginfi/Cargo.toml b/programs/marginfi/Cargo.toml index 45490a944..457dc8ca9 100644 --- a/programs/marginfi/Cargo.toml +++ b/programs/marginfi/Cargo.toml @@ -24,43 +24,42 @@ debug = [] staging = [] [dependencies] -solana-program = { workspace = true } +# solana-program = { workspace = true } spl-transfer-hook-interface = { workspace = true } -spl-tlv-account-resolution = { workspace = true } +# spl-tlv-account-resolution = { workspace = true } anchor-lang = { workspace = true } -anchor-lang-29 = { workspace = true } anchor-spl = { workspace = true } pyth-sdk-solana = { workspace = true } pyth-solana-receiver-sdk = { workspace = true } pythnet-sdk = { workspace = true } -switchboard-solana = { workspace = true } +# switchboard-solana = { workspace = true } switchboard-on-demand = { workspace = true } -borsh = "0.10.3" -bytemuck = "1.9.1" +borsh = { workspace = true } +bytemuck = { workspace = true } +fixed = { workspace = true } +fixed-macro = { workspace = true } +lazy_static = { workspace = true } +type-layout = { workspace = true } +static_assertions = { workspace = true } cfg-if = "1.0.0" -enum_dispatch = "0.3.11" -fixed = "1.12.0" -fixed-macro = "1.2.0" -lazy_static = "1.4.0" -static_assertions = "1.1.0" -type-layout = "0.2.0" +enum_dispatch = "0.3.13" solana-security-txt = "1.1.1" [dev-dependencies] solana-account-decoder = { workspace = true } solana-cli-output = { workspace = true } solana-program-test = { workspace = true } -solana-logger = { workspace = true } +# solana-logger = { workspace = true } solana-sdk = { workspace = true } +fixtures = { workspace = true, package = "test-utilities" } anyhow = "1.0.66" assert_matches = "1.5.0" base64 = "0.21.0" bincode = "1.3.3" -fixtures = { path = "../../test-utils", package = "test-utilities" } futures = "0.3.25" pretty_assertions = "1.2.1" rust_decimal = "*" diff --git a/programs/marginfi/fuzz/Cargo.lock b/programs/marginfi/fuzz/Cargo.lock index 659222c29..95d78b7e0 100644 --- a/programs/marginfi/fuzz/Cargo.lock +++ b/programs/marginfi/fuzz/Cargo.lock @@ -27,32 +27,38 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "aead" -version = "0.4.3" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" dependencies = [ + "crypto-common", "generic-array", ] [[package]] name = "aes" -version = "0.7.5" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", "cpufeatures", - "opaque-debug", ] [[package]] name = "aes-gcm-siv" -version = "0.10.3" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc" +checksum = "ae0784134ba9375416d469ec31e7c5f9fa94405049cf08c5ce5b4698be673e0d" dependencies = [ "aead", "aes", @@ -63,6 +69,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "agave-transaction-view" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "383582a0ebe68832ed6a2d6460768a3f54fd61d23cd733c439aa65c6609b550b" +dependencies = [ + "solana-sdk", + "solana-svm-transaction", +] + [[package]] name = "ahash" version = "0.7.8" @@ -96,12 +112,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "aliasable" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" - [[package]] name = "alloc-no-stdlib" version = "2.0.4" @@ -119,22 +129,11 @@ dependencies = [ [[package]] name = "anchor-attribute-access-control" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5f619f1d04f53621925ba8a2e633ba5a6081f2ae14758cbb67f38fd823e0a3e" -dependencies = [ - "anchor-syn 0.29.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-access-control" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +checksum = "3f70fd141a4d18adf11253026b32504f885447048c7494faf5fa83b01af9c0cf" dependencies = [ - "anchor-syn 0.30.1", + "anchor-syn", "proc-macro2", "quote", "syn 1.0.109", @@ -142,24 +141,12 @@ dependencies = [ [[package]] name = "anchor-attribute-account" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7f2a3e1df4685f18d12a943a9f2a7456305401af21a07c9fe076ef9ecd6e400" -dependencies = [ - "anchor-syn 0.29.0", - "bs58 0.5.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-account" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +checksum = "715a261c57c7679581e06f07a74fa2af874ac30f86bd8ea07cca4a7e5388a064" dependencies = [ - "anchor-syn 0.30.1", - "bs58 0.5.1", + "anchor-syn", + "bs58", "proc-macro2", "quote", "syn 1.0.109", @@ -167,64 +154,33 @@ dependencies = [ [[package]] name = "anchor-attribute-constant" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9423945cb55627f0b30903288e78baf6f62c6c8ab28fb344b6b25f1ffee3dca7" -dependencies = [ - "anchor-syn 0.29.0", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-constant" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +checksum = "730d6df8ae120321c5c25e0779e61789e4b70dc8297102248902022f286102e4" dependencies = [ - "anchor-syn 0.30.1", + "anchor-syn", "quote", "syn 1.0.109", ] [[package]] name = "anchor-attribute-error" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ed12720033cc3c3bf3cfa293349c2275cd5ab99936e33dd4bf283aaad3e241" -dependencies = [ - "anchor-syn 0.29.0", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-error" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +checksum = "27e6e449cc3a37b2880b74dcafb8e5a17b954c0e58e376432d7adc646fb333ef" dependencies = [ - "anchor-syn 0.30.1", + "anchor-syn", "quote", "syn 1.0.109", ] [[package]] name = "anchor-attribute-event" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eef4dc0371eba2d8c8b54794b0b0eb786a234a559b77593d6f80825b6d2c77a2" -dependencies = [ - "anchor-syn 0.29.0", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-event" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +checksum = "d7710e4c54adf485affcd9be9adec5ef8846d9c71d7f31e16ba86ff9fc1dd49f" dependencies = [ - "anchor-syn 0.30.1", + "anchor-syn", "proc-macro2", "quote", "syn 1.0.109", @@ -232,24 +188,14 @@ dependencies = [ [[package]] name = "anchor-attribute-program" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b18c4f191331e078d4a6a080954d1576241c29c56638783322a18d308ab27e4f" -dependencies = [ - "anchor-syn 0.29.0", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-program" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +checksum = "05ecfd49b2aeadeb32f35262230db402abed76ce87e27562b34f61318b2ec83c" dependencies = [ "anchor-lang-idl", - "anchor-syn 0.30.1", + "anchor-syn", "anyhow", - "bs58 0.5.1", + "bs58", "heck 0.3.3", "proc-macro2", "quote", @@ -259,45 +205,23 @@ dependencies = [ [[package]] name = "anchor-derive-accounts" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de10d6e9620d3bcea56c56151cad83c5992f50d5960b3a9bebc4a50390ddc3c" +checksum = "be89d160793a88495af462a7010b3978e48e30a630c91de47ce2c1d3cb7a6149" dependencies = [ - "anchor-syn 0.29.0", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-accounts" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-syn 0.30.1", + "anchor-syn", "quote", "syn 1.0.109", ] [[package]] name = "anchor-derive-serde" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e2e5be518ec6053d90a2a7f26843dbee607583c779e6c8395951b9739bdfbe" +checksum = "abc6ee78acb7bfe0c2dd2abc677aaa4789c0281a0c0ef01dbf6fe85e0fd9e6e4" dependencies = [ - "anchor-syn 0.29.0", - "borsh-derive-internal 0.10.3", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-serde" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-syn 0.30.1", - "borsh-derive-internal 0.10.3", + "anchor-syn", + "borsh-derive-internal", "proc-macro2", "quote", "syn 1.0.109", @@ -305,19 +229,9 @@ dependencies = [ [[package]] name = "anchor-derive-space" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ecc31d19fa54840e74b7a979d44bcea49d70459de846088a1d71e87ba53c419" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-space" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +checksum = "134a01c0703f6fd355a0e472c033f6f3e41fac1ef6e370b20c50f4c8d022cea7" dependencies = [ "proc-macro2", "quote", @@ -326,57 +240,32 @@ dependencies = [ [[package]] name = "anchor-lang" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35da4785497388af0553586d55ebdc08054a8b1724720ef2749d313494f2b8ad" -dependencies = [ - "anchor-attribute-access-control 0.29.0", - "anchor-attribute-account 0.29.0", - "anchor-attribute-constant 0.29.0", - "anchor-attribute-error 0.29.0", - "anchor-attribute-event 0.29.0", - "anchor-attribute-program 0.29.0", - "anchor-derive-accounts 0.29.0", - "anchor-derive-serde 0.29.0", - "anchor-derive-space 0.29.0", - "arrayref", - "base64 0.13.1", - "bincode", - "borsh 0.10.3", - "bytemuck", - "getrandom 0.2.15", - "solana-program", - "thiserror", -] - -[[package]] -name = "anchor-lang" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" -dependencies = [ - "anchor-attribute-access-control 0.30.1", - "anchor-attribute-account 0.30.1", - "anchor-attribute-constant 0.30.1", - "anchor-attribute-error 0.30.1", - "anchor-attribute-event 0.30.1", - "anchor-attribute-program 0.30.1", - "anchor-derive-accounts 0.30.1", - "anchor-derive-serde 0.30.1", - "anchor-derive-space 0.30.1", - "arrayref", +version = "0.31.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6bab117055905e930f762c196e08f861f8dfe7241b92cee46677a3b15561a0a" +dependencies = [ + "anchor-attribute-access-control", + "anchor-attribute-account", + "anchor-attribute-constant", + "anchor-attribute-error", + "anchor-attribute-event", + "anchor-attribute-program", + "anchor-derive-accounts", + "anchor-derive-serde", + "anchor-derive-space", "base64 0.21.7", "bincode", "borsh 0.10.3", "bytemuck", - "getrandom 0.2.15", "solana-program", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "anchor-lang-idl" -version = "0.1.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e8599d21995f68e296265aa5ab0c3cef582fd58afec014d01bd0bce18a4418" dependencies = [ "anchor-lang-idl-spec", "anyhow", @@ -389,7 +278,8 @@ dependencies = [ [[package]] name = "anchor-lang-idl-spec" version = "0.1.0" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bdf143115440fe621bdac3a29a1f7472e09f6cd82b2aa569429a0c13f103838" dependencies = [ "anyhow", "serde", @@ -397,56 +287,27 @@ dependencies = [ [[package]] name = "anchor-spl" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c4fd6e43b2ca6220d2ef1641539e678bfc31b6cc393cf892b373b5997b6a39a" -dependencies = [ - "anchor-lang 0.29.0", - "solana-program", - "spl-associated-token-account 2.3.0", - "spl-token 4.0.0", - "spl-token-2022 0.9.0", -] - -[[package]] -name = "anchor-spl" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +checksum = "3c08cb5d762c0694f74bd02c9a5b04ea53cefc496e2c27b3234acffca5cd076b" dependencies = [ - "anchor-lang 0.30.1", - "spl-associated-token-account 3.0.2", - "spl-pod 0.2.2", - "spl-token 4.0.0", - "spl-token-2022 3.0.2", - "spl-token-group-interface 0.2.3", - "spl-token-metadata-interface 0.3.3", + "anchor-lang", + "spl-associated-token-account 6.0.0", + "spl-pod 0.5.0", + "spl-token 7.0.0", + "spl-token-2022 6.0.0", + "spl-token-group-interface 0.5.0", + "spl-token-metadata-interface 0.6.0", ] [[package]] name = "anchor-syn" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9101b84702fed2ea57bd22992f75065da5648017135b844283a2f6d74f27825" -dependencies = [ - "anyhow", - "bs58 0.5.1", - "heck 0.3.3", - "proc-macro2", - "quote", - "serde", - "serde_json", - "sha2 0.10.8", - "syn 1.0.109", - "thiserror", -] - -[[package]] -name = "anchor-syn" -version = "0.30.1" -source = "git+https://github.com/mrgnlabs/anchor.git?rev=fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d#fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" +checksum = "5dc7a6d90cc643df0ed2744862cdf180587d1e5d28936538c18fc8908489ed67" dependencies = [ "anyhow", - "bs58 0.5.1", + "bs58", "heck 0.3.3", "proc-macro2", "quote", @@ -454,7 +315,7 @@ dependencies = [ "serde_json", "sha2 0.10.8", "syn 1.0.109", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -472,20 +333,11 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" [[package]] name = "aquamarine" @@ -635,9 +487,9 @@ dependencies = [ [[package]] name = "arrayref" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" +checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" [[package]] name = "arrayvec" @@ -663,7 +515,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror", + "thiserror 1.0.69", "time", ] @@ -703,7 +555,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" dependencies = [ "concurrent-queue", - "event-listener", + "event-listener 2.5.3", "futures-core", ] @@ -722,23 +574,25 @@ dependencies = [ ] [[package]] -name = "async-mutex" -version = "1.4.0" +name = "async-lock" +version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" +checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" dependencies = [ - "event-listener", + "event-listener 5.4.0", + "event-listener-strategy", + "pin-project-lite", ] [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -774,7 +628,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -803,12 +657,6 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" -[[package]] -name = "base64ct" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" - [[package]] name = "bincode" version = "1.3.3" @@ -856,9 +704,9 @@ dependencies = [ [[package]] name = "blake3" -version = "1.5.1" +version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" +checksum = "3888aaa89e4b2a40fca9848e400f6a658a5a3978de7be858e209cafa8be9a4a0" dependencies = [ "arrayref", "arrayvec", @@ -874,7 +722,6 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "block-padding", "generic-array", ] @@ -887,22 +734,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "borsh" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15bf3650200d8bffa99015595e10f1fbd17de07abbc25bb067da79e769939bfa" -dependencies = [ - "borsh-derive 0.9.3", - "hashbrown 0.11.2", -] - [[package]] name = "borsh" version = "0.10.3" @@ -915,35 +746,22 @@ dependencies = [ [[package]] name = "borsh" -version = "1.5.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" +checksum = "ad8646f98db542e39fc66e68a20b2144f6a732636df7c2354e74645faaa433ce" dependencies = [ - "borsh-derive 1.5.1", + "borsh-derive 1.5.7", "cfg_aliases", ] -[[package]] -name = "borsh-derive" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6441c552f230375d18e3cc377677914d2ca2b0d36e52129fe15450a2dce46775" -dependencies = [ - "borsh-derive-internal 0.9.3", - "borsh-schema-derive-internal 0.9.3", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn 1.0.109", -] - [[package]] name = "borsh-derive" version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" dependencies = [ - "borsh-derive-internal 0.10.3", - "borsh-schema-derive-internal 0.10.3", + "borsh-derive-internal", + "borsh-schema-derive-internal", "proc-macro-crate 0.1.5", "proc-macro2", "syn 1.0.109", @@ -951,27 +769,15 @@ dependencies = [ [[package]] name = "borsh-derive" -version = "1.5.1" +version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" +checksum = "fdd1d3c0c2f5833f22386f252fe8ed005c7f59fdcddeef025c01b4c3b9fd9ac3" dependencies = [ "once_cell", "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.58", - "syn_derive", -] - -[[package]] -name = "borsh-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", + "syn 2.0.100", ] [[package]] @@ -985,17 +791,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "borsh-schema-derive-internal" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "borsh-schema-derive-internal" version = "0.10.3" @@ -1028,12 +823,6 @@ dependencies = [ "alloc-stdlib", ] -[[package]] -name = "bs58" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" - [[package]] name = "bs58" version = "0.5.1" @@ -1083,22 +872,22 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.16.1" +version = "1.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b236fc92302c97ed75b38da1f4917b5cdda4984745740f153a5d3059e48d725e" +checksum = "b6b1fc10dbac614ebc03540c9dbd60e83887fda27794998c6528f1782047d540" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee891b04274a59bd38b412188e24b849617b2e45a0fd8d057deb63e7403761b" +checksum = "3fa76293b4f7bb636ab88fd78228235b5248b4d05cc589aed610f954af5d7c7a" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -1109,9 +898,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "bzip2" @@ -1141,20 +930,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" dependencies = [ "libc", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "cc" -version = "1.0.99" +version = "1.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362" dependencies = [ "jobserver", "libc", - "once_cell", + "shlex", ] +[[package]] +name = "cesu8" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" + [[package]] name = "cfg-if" version = "1.0.0" @@ -1167,6 +962,17 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +[[package]] +name = "cfg_eval" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45565fc9416b9896014f5732ac776f810ee53a66730c17e4020c3ec064a8f88f" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "chrono" version = "0.4.38" @@ -1193,51 +999,12 @@ dependencies = [ [[package]] name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array", -] - -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags 1.3.2", - "strsim 0.8.0", - "textwrap 0.11.0", - "unicode-width", - "vec_map", -] - -[[package]] -name = "clap" -version = "3.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" -dependencies = [ - "atty", - "bitflags 1.3.2", - "clap_lex", - "indexmap 1.9.3", - "once_cell", - "strsim 0.10.0", - "termcolor", - "textwrap 0.16.1", -] - -[[package]] -name = "clap_lex" -version = "0.2.4" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "os_str_bytes", + "crypto-common", + "inout", ] [[package]] @@ -1253,6 +1020,16 @@ dependencies = [ "unreachable", ] +[[package]] +name = "combine" +version = "4.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba5a308b75df32fe02788e748662718f03fde005016435c444eea572398219fd" +dependencies = [ + "bytes", + "memchr", +] + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -1296,22 +1073,26 @@ dependencies = [ ] [[package]] -name = "const-oid" -version = "0.7.1" +name = "constant_time_eq" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] -name = "constant_time_eq" -version = "0.3.0" +name = "core-foundation" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +dependencies = [ + "core-foundation-sys", + "libc", +] [[package]] name = "core-foundation" -version = "0.9.4" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" +checksum = "b55271e5c8c478ad3f38ad24ef34923091e0548492a266d19b3c0b4d82574c63" dependencies = [ "core-foundation-sys", "libc", @@ -1319,9 +1100,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" @@ -1388,6 +1169,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", + "rand_core 0.6.4", "typenum", ] @@ -1403,27 +1185,55 @@ dependencies = [ [[package]] name = "ctr" -version = "0.8.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ "cipher", ] [[package]] name = "curve25519-dalek" -version = "3.2.1" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" dependencies = [ "byteorder", "digest 0.9.0", "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "curve25519-dalek" +version = "4.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fb8b7c4503de7d6ae7b42ab72a5a59857b4c937ec27a3d4539dba95b5ab2be" +dependencies = [ + "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", + "fiat-crypto", + "rand_core 0.6.4", + "rustc_version", "serde", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.100", +] + [[package]] name = "darling" version = "0.20.9" @@ -1444,8 +1254,8 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.11.1", - "syn 2.0.58", + "strsim", + "syn 2.0.100", ] [[package]] @@ -1456,7 +1266,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ "darling_core", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -1479,15 +1289,6 @@ version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" -[[package]] -name = "der" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6919815d73839e7ad218de758883aae3a257ba6759ce7a9992501efbb53d705c" -dependencies = [ - "const-oid", -] - [[package]] name = "der-parser" version = "8.2.0" @@ -1536,7 +1337,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -1545,18 +1346,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c877555693c14d2f84191cfd3ad8582790fc52b5e2274b40b59cf5f5cea25c7" -[[package]] -name = "dialoguer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" -dependencies = [ - "console", - "shell-words", - "tempfile", - "zeroize", -] - [[package]] name = "difflib" version = "0.4.0" @@ -1600,7 +1389,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -1623,7 +1412,7 @@ checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -1659,7 +1448,7 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ - "curve25519-dalek", + "curve25519-dalek 3.2.0", "ed25519", "rand 0.7.3", "serde", @@ -1729,7 +1518,7 @@ checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -1742,7 +1531,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -1754,7 +1543,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -1788,9 +1577,9 @@ dependencies = [ [[package]] name = "errno" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +checksum = "976dd42dc7e85965fe702eb8164f21f450704bdde31faefd6471dba214cb594e" dependencies = [ "libc", "windows-sys 0.52.0", @@ -1802,6 +1591,27 @@ version = "2.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" +[[package]] +name = "event-listener" +version = "5.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" +dependencies = [ + "event-listener 5.4.0", + "pin-project-lite", +] + [[package]] name = "fast-math" version = "0.1.1" @@ -1813,9 +1623,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.1.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" [[package]] name = "feature-probe" @@ -1823,6 +1633,12 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" +[[package]] +name = "fiat-crypto" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28dea519a9695b9977216879a3ebfddf92f1c08c05d984f8996aecd6ecdc811d" + [[package]] name = "filetime" version = "0.2.23" @@ -1835,11 +1651,26 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "five8_const" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26dec3da8bc3ef08f2c04f61eab298c3ab334523e55f076354d6d6f613799a7b" +dependencies = [ + "five8_core", +] + +[[package]] +name = "five8_core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2551bf44bc5f776c15044b9b94153a00198be06743e262afaaa61f11ac7523a5" + [[package]] name = "fixed" -version = "1.27.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fc715d38bea7b5bf487fcd79bcf8c209f0b58014f3018a7a19c2b855f472048" +checksum = "85c6e0b89bf864acd20590dbdbad56f69aeb898abfc9443008fd7bd48b2cc85a" dependencies = [ "az", "bytemuck", @@ -1884,12 +1715,12 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.30" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "7ced92e76e966ca2fd84c8f7aa01a4aea65b0eb6648d72f7c8f3e2764a67fece" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.8", ] [[package]] @@ -1907,6 +1738,21 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1930,9 +1776,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -1945,9 +1791,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -1955,15 +1801,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -1972,38 +1818,44 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" + +[[package]] +name = "futures-timer" +version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -2064,6 +1916,20 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "getrandom" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", + "wasm-bindgen", +] + [[package]] name = "gimli" version = "0.29.0" @@ -2071,14 +1937,23 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] -name = "goblin" -version = "0.5.4" +name = "governor" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7666983ed0dd8d21a6f6576ee00053ca0926fb281a5522577a4dbd0f1b54143" +checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" dependencies = [ - "log", - "plain", - "scroll", + "cfg-if", + "dashmap", + "futures", + "futures-timer", + "no-std-compat", + "nonzero_ext", + "parking_lot", + "portable-atomic", + "quanta", + "rand 0.8.5", + "smallvec", + "spinning_top", ] [[package]] @@ -2093,7 +1968,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.2.6", + "indexmap", "slab", "tokio", "tokio-util 0.7.11", @@ -2119,15 +1994,6 @@ dependencies = [ "byteorder", ] -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" -dependencies = [ - "ahash 0.7.8", -] - [[package]] name = "hashbrown" version = "0.12.3" @@ -2152,6 +2018,12 @@ version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +[[package]] +name = "hashbrown" +version = "0.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" + [[package]] name = "heck" version = "0.3.3" @@ -2306,7 +2178,7 @@ dependencies = [ "futures-util", "http", "hyper", - "rustls", + "rustls 0.21.12", "tokio", "tokio-rustls", ] @@ -2393,28 +2265,18 @@ dependencies = [ [[package]] name = "index_list" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb725b6505e51229de32027e0cfcd9db29da4d89156f9747b0a5195643fa3e1" - -[[package]] -name = "indexmap" -version = "1.9.3" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] +checksum = "fa38453685e5fe724fd23ff6c1a158c1e2ca21ce0c2718fa11e96e70e99fd4de" [[package]] name = "indexmap" -version = "2.2.6" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.2", ] [[package]] @@ -2430,6 +2292,15 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + [[package]] name = "instant" version = "0.1.13" @@ -2469,6 +2340,28 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jni" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a87aa2bb7d2af34197c04845522473242e1aa17c12f4935d5856491a7fb8c97" +dependencies = [ + "cesu8", + "cfg-if", + "combine 4.6.7", + "jni-sys", + "log", + "thiserror 1.0.69", + "walkdir", + "windows-sys 0.45.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + [[package]] name = "jobserver" version = "0.1.31" @@ -2480,10 +2373,11 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" dependencies = [ + "once_cell", "wasm-bindgen", ] @@ -2511,15 +2405,6 @@ dependencies = [ "cpufeatures", ] -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - [[package]] name = "lazy_static" version = "1.5.0" @@ -2528,9 +2413,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.172" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" [[package]] name = "libfuzzer-sys" @@ -2648,7 +2533,7 @@ dependencies = [ "ark-bn254", "ark-ff", "num-bigint 0.4.6", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2657,6 +2542,12 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" +[[package]] +name = "linux-raw-sys" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd945864f07fe9f5371a27ad7b52a172b4b499999f1d97574c9fa68373937e12" + [[package]] name = "lock_api" version = "0.4.12" @@ -2705,36 +2596,26 @@ dependencies = [ "serde-value", "serde_json", "serde_yaml", - "thiserror", + "thiserror 1.0.69", "thread-id", "typemap-ors", "winapi", ] -[[package]] -name = "lru" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a" -dependencies = [ - "hashbrown 0.12.3", -] - [[package]] name = "lz4" -version = "1.25.0" +version = "1.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6eab492fe7f8651add23237ea56dbf11b3c4ff762ab83d40a47f11433421f91" +checksum = "a20b523e860d03443e98350ceaac5e71c6ba89aea7d960769ec3ce37f4de5af4" dependencies = [ - "libc", "lz4-sys", ] [[package]] name = "lz4-sys" -version = "1.9.5" +version = "1.11.1+lz4-1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9764018d143cc854c9f17f0b907de70f14393b1f502da6375dce70f00514eb3" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ "cc", "libc", @@ -2744,10 +2625,9 @@ dependencies = [ name = "marginfi" version = "0.1.2" dependencies = [ - "anchor-lang 0.29.0", - "anchor-lang 0.30.1", - "anchor-spl 0.30.1", - "borsh 0.10.3", + "anchor-lang", + "anchor-spl", + "borsh 1.5.7", "bytemuck", "cfg-if", "enum_dispatch", @@ -2756,13 +2636,11 @@ dependencies = [ "lazy_static", "pyth-sdk-solana", "pyth-solana-receiver-sdk", - "solana-program", + "pythnet-sdk", "solana-security-txt", - "spl-tlv-account-resolution 0.6.3", - "spl-transfer-hook-interface 0.6.3", + "spl-transfer-hook-interface 0.9.0", "static_assertions", "switchboard-on-demand", - "switchboard-solana", "type-layout", ] @@ -2770,8 +2648,8 @@ dependencies = [ name = "marginfi-fuzz" version = "0.0.0" dependencies = [ - "anchor-lang 0.30.1", - "anchor-spl 0.30.1", + "anchor-lang", + "anchor-spl", "anyhow", "arbitrary", "base64 0.22.1", @@ -2787,13 +2665,13 @@ dependencies = [ "marginfi", "once_cell", "pyth-sdk-solana", - "quinn-proto", + "quinn-proto 0.10.6", "rand 0.8.5", "safe-transmute", "solana-program", "solana-program-test", "solana-sdk", - "spl-token 4.0.0", + "spl-token 7.0.0", "strum 0.26.3", ] @@ -2821,15 +2699,6 @@ dependencies = [ "autocfg", ] -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - [[package]] name = "memoffset" version = "0.9.1" @@ -2857,6 +2726,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 = "minimal-lexical" version = "0.2.1" @@ -2872,15 +2751,24 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.8.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" +dependencies = [ + "adler2", +] + [[package]] name = "mio" -version = "0.8.11" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -2933,17 +2821,23 @@ dependencies = [ [[package]] name = "nix" -version = "0.26.4" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.6.0", "cfg-if", + "cfg_aliases", "libc", - "memoffset 0.7.1", - "pin-utils", + "memoffset 0.9.1", ] +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + [[package]] name = "nom" version = "7.1.3" @@ -2954,6 +2848,12 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + [[package]] name = "normalize-line-endings" version = "0.3.0" @@ -3053,7 +2953,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -3120,108 +3020,114 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.11" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ - "num_enum_derive 0.5.11", + "num_enum_derive", ] [[package]] -name = "num_enum" -version = "0.6.1" +name = "num_enum_derive" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "num_enum_derive 0.6.1", + "proc-macro-crate 3.1.0", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] -name = "num_enum" -version = "0.7.2" +name = "number_prefix" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02339744ee7253741199f897151b38e72257d13802d4ee837285cc2990a90845" -dependencies = [ - "num_enum_derive 0.7.2", -] +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" [[package]] -name = "num_enum_derive" -version = "0.5.11" +name = "object" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 1.0.109", + "memchr", ] [[package]] -name = "num_enum_derive" +name = "oid-registry" version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "proc-macro-crate 1.3.1", - "proc-macro2", - "quote", - "syn 2.0.58", + "asn1-rs", ] [[package]] -name = "num_enum_derive" -version = "0.7.2" +name = "once_cell" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "681030a937600a36906c185595136d26abfebb4aa9c65701cefcaf8578bb982b" -dependencies = [ - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.58", -] +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] -name = "number_prefix" -version = "0.4.0" +name = "opaque-debug" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] -name = "object" -version = "0.36.1" +name = "openssl" +version = "0.10.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +checksum = "fedfea7d58a1f73118430a55da6a286e7b044961736ce96a16a17068ea25e5da" dependencies = [ - "memchr", + "bitflags 2.6.0", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", ] [[package]] -name = "oid-registry" -version = "0.6.1" +name = "openssl-macros" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "asn1-rs", + "proc-macro2", + "quote", + "syn 2.0.100", ] [[package]] -name = "once_cell" -version = "1.19.0" +name = "openssl-probe" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] -name = "opaque-debug" -version = "0.3.1" +name = "openssl-src" +version = "300.5.0+3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" +checksum = "e8ce546f549326b0e6052b649198487d91320875da901e7bd11a06d1ee3f9c2f" +dependencies = [ + "cc", +] [[package]] -name = "openssl-probe" -version = "0.1.5" +name = "openssl-sys" +version = "0.9.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" +checksum = "8288979acd84749c744a9014b4382d42b8f7b2592847b5afb2ed29e5d16ede07" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] [[package]] name = "opentelemetry" @@ -3239,7 +3145,7 @@ dependencies = [ "percent-encoding", "pin-project", "rand 0.8.5", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3252,33 +3158,10 @@ dependencies = [ ] [[package]] -name = "os_str_bytes" -version = "6.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" - -[[package]] -name = "ouroboros" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1358bd1558bd2a083fed428ffeda486fbfb323e698cdda7794259d592ca72db" -dependencies = [ - "aliasable", - "ouroboros_macro", -] - -[[package]] -name = "ouroboros_macro" -version = "0.15.6" +name = "parking" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f7d21ccd03305a674437ee1248f3ab5d4b1db095cf1caf49f1713ddf61956b7" -dependencies = [ - "Inflector", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 1.0.109", -] +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -3309,15 +3192,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac", -] - [[package]] name = "pbkdf2" version = "0.11.0" @@ -3368,7 +3242,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -3383,34 +3257,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "pkcs8" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cabda3fb821068a9a4fab19a683eac3af12edf0f34b94a8be53c4972b8149d0" -dependencies = [ - "der", - "spki", - "zeroize", -] - [[package]] name = "pkg-config" version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" -[[package]] -name = "plain" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" - [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", "cpufeatures", @@ -3475,23 +3332,13 @@ dependencies = [ "toml", ] -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit 0.19.15", -] - [[package]] name = "proc-macro-crate" version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "toml_edit 0.21.1", + "toml_edit", ] [[package]] @@ -3520,9 +3367,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.95" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" dependencies = [ "unicode-ident", ] @@ -3563,9 +3410,9 @@ dependencies = [ [[package]] name = "pyth-sdk-solana" -version = "0.10.1" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f913de6eb29d8def199af3beaee645e84c5281327d58777eff3fdd9f1d37105" +checksum = "5a1875ce0bee6b18af4a9700ae8e514f1dd093c29aa3400e2a40e96421adcdb5" dependencies = [ "borsh 0.10.3", "borsh-derive 0.10.3", @@ -3575,16 +3422,17 @@ dependencies = [ "pyth-sdk", "serde", "solana-program", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "pyth-solana-receiver-sdk" -version = "0.3.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91e6559643f0b377b6f293269251f6a804ae7332c37f7310371f50c833453cd0" +checksum = "8f07e92abfc18154532ed3dabaa7dac8e693b9925bfe28b2915bc8f8c1540ca0" dependencies = [ - "anchor-lang 0.29.0", + "anchor-lang", + "bytemuck_derive", "hex", "pythnet-sdk", "solana-program", @@ -3592,24 +3440,23 @@ dependencies = [ [[package]] name = "pythnet-sdk" -version = "2.1.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bbbc0456f9f27c9ad16b6c3bf1b2a7fea61eebf900f4d024a0468b9a84fe0c1" +checksum = "498d20fd330277697aaee92f341bdabdb4695b10e05f054157a18ad8b7746a17" dependencies = [ - "anchor-lang 0.29.0", + "anchor-lang", "bincode", "borsh 0.10.3", "bytemuck", "byteorder", "fast-math", "hex", - "proc-macro2", "rustc_version", "serde", - "sha3 0.10.8", + "sha3", "slow_primes", "solana-program", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -3629,24 +3476,42 @@ checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", +] + +[[package]] +name = "quanta" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bd1fe6824cea6538803de3ff1bc0cf3949024db3d43c9643024bfb33a807c0e" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi 0.11.0+wasi-snapshot-preview1", + "web-sys", + "winapi", ] [[package]] name = "quinn" -version = "0.10.2" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cc2c5017e4b43d5995dcea317bc46c1e09404c0a9664d2908f7f02dfe943d75" +checksum = "c3bd15a6f2967aef83887dcb9fec0014580467e33720d073560cf015a5683012" dependencies = [ "bytes", + "cfg_aliases", "pin-project-lite", - "quinn-proto", + "quinn-proto 0.11.11", "quinn-udp", - "rustc-hash", - "rustls", - "thiserror", + "rustc-hash 2.1.1", + "rustls 0.23.26", + "socket2", + "thiserror 2.0.12", "tokio", "tracing", + "web-time", ] [[package]] @@ -3659,26 +3524,47 @@ dependencies = [ "bytes", "rand 0.8.5", "ring 0.16.20", - "rustc-hash", - "rustls", - "rustls-native-certs", + "rustc-hash 1.1.0", + "rustls 0.21.12", "slab", - "thiserror", + "thiserror 1.0.69", "tinyvec", "tracing", ] [[package]] -name = "quinn-udp" -version = "0.4.1" +name = "quinn-proto" +version = "0.11.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "055b4e778e8feb9f93c4e439f71dc2156ef13360b432b799e179a8c4cdf0b1d7" +checksum = "bcbafbbdbb0f638fe3f35f3c56739f77a8a1d070cb25603226c83339b391472b" dependencies = [ "bytes", + "getrandom 0.3.2", + "rand 0.9.1", + "ring 0.17.8", + "rustc-hash 2.1.1", + "rustls 0.23.26", + "rustls-pki-types", + "rustls-platform-verifier", + "slab", + "thiserror 2.0.12", + "tinyvec", + "tracing", + "web-time", +] + +[[package]] +name = "quinn-udp" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "541d0f57c6ec747a90738a52741d3221f7960e8ac2f0ff4b1a63680e033b4ab5" +dependencies = [ + "cfg_aliases", "libc", + "once_cell", "socket2", "tracing", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -3690,6 +3576,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" + [[package]] name = "radium" version = "0.7.0" @@ -3720,6 +3612,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -3740,6 +3642,16 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", +] + [[package]] name = "rand_core" version = "0.5.1" @@ -3758,6 +3670,15 @@ dependencies = [ "getrandom 0.2.15", ] +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.2", +] + [[package]] name = "rand_hc" version = "0.2.0" @@ -3776,6 +3697,15 @@ dependencies = [ "rand_core 0.6.4", ] +[[package]] +name = "raw-cpuid" +version = "11.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6df7ab838ed27997ba19a4664507e6f82b41fe6e20be42929332156e5e85146" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "rayon" version = "1.10.0" @@ -3796,18 +3726,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "rcgen" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" -dependencies = [ - "pem", - "ring 0.16.20", - "time", - "yasna", -] - [[package]] name = "redox_syscall" version = "0.4.1" @@ -3828,9 +3746,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -3840,9 +3758,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" dependencies = [ "aho-corasick", "memchr", @@ -3851,9 +3769,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "rend" @@ -3885,10 +3803,11 @@ dependencies = [ "js-sys", "log", "mime", + "mime_guess", "once_cell", "percent-encoding", "pin-project-lite", - "rustls", + "rustls 0.21.12", "rustls-pemfile", "serde", "serde_json", @@ -3907,6 +3826,21 @@ dependencies = [ "winreg", ] +[[package]] +name = "reqwest-middleware" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a735987236a8e238bf0296c7e351b999c188ccc11477f311b82b55c93984216" +dependencies = [ + "anyhow", + "async-trait", + "http", + "reqwest", + "serde", + "task-local-extensions", + "thiserror 1.0.69", +] + [[package]] name = "ring" version = "0.16.20" @@ -3966,27 +3900,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "rpassword" -version = "7.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" -dependencies = [ - "libc", - "rtoolbox", - "windows-sys 0.48.0", -] - -[[package]] -name = "rtoolbox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "rust_decimal" version = "1.35.0" @@ -3994,7 +3907,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1790d1c4c0ca81211399e0e0af16333276f375209e71a37b67698a373db5b47a" dependencies = [ "arrayvec", - "borsh 1.5.1", + "borsh 1.5.7", "bytes", "num-traits", "rand 0.8.5", @@ -4015,6 +3928,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hash" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" + [[package]] name = "rustc_version" version = "0.4.0" @@ -4042,7 +3961,20 @@ dependencies = [ "bitflags 2.6.0", "errno", "libc", - "linux-raw-sys", + "linux-raw-sys 0.4.14", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustix" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d97817398dd4bb2e6da002002db259209759911da105da92bec29ccb12cf58bf" +dependencies = [ + "bitflags 2.6.0", + "errno", + "libc", + "linux-raw-sys 0.9.4", "windows-sys 0.52.0", ] @@ -4054,18 +3986,32 @@ checksum = "3f56a14d1f48b391359b22f731fd4bd7e43c97f3c50eee276f3aa09c94784d3e" dependencies = [ "log", "ring 0.17.8", - "rustls-webpki", + "rustls-webpki 0.101.7", "sct", ] +[[package]] +name = "rustls" +version = "0.23.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df51b5869f3a441595eac5e8ff14d486ff285f7b8c0df8770e49c3b56351f0f0" +dependencies = [ + "once_cell", + "ring 0.17.8", + "rustls-pki-types", + "rustls-webpki 0.103.1", + "subtle", + "zeroize", +] + [[package]] name = "rustls-native-certs" -version = "0.6.3" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" +checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" dependencies = [ "openssl-probe", - "rustls-pemfile", + "rustls-pki-types", "schannel", "security-framework", ] @@ -4080,24 +4026,71 @@ dependencies = [ ] [[package]] -name = "rustls-webpki" -version = "0.101.7" +name = "rustls-pki-types" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +checksum = "917ce264624a4b4db1c364dcc35bfca9ded014d0a958cd47ad3e960e988ea51c" dependencies = [ - "ring 0.17.8", - "untrusted 0.9.0", + "web-time", ] [[package]] -name = "rustversion" -version = "1.0.17" +name = "rustls-platform-verifier" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "4a5467026f437b4cb2a533865eaa73eb840019a0916f4b9ec563c6e617e086c9" +dependencies = [ + "core-foundation 0.10.0", + "core-foundation-sys", + "jni", + "log", + "once_cell", + "rustls 0.23.26", + "rustls-native-certs", + "rustls-platform-verifier-android", + "rustls-webpki 0.103.1", + "security-framework", + "security-framework-sys", + "webpki-root-certs", + "windows-sys 0.52.0", +] [[package]] -name = "ryu" -version = "1.0.18" +name = "rustls-platform-verifier-android" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" + +[[package]] +name = "rustls-webpki" +version = "0.101.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" +dependencies = [ + "ring 0.17.8", + "untrusted 0.9.0", +] + +[[package]] +name = "rustls-webpki" +version = "0.103.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fef8b8769aaccf73098557a87cd1816b4f9c7c16811c9c77142aa695c16f2c03" +dependencies = [ + "ring 0.17.8", + "rustls-pki-types", + "untrusted 0.9.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" @@ -4146,7 +4139,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -4160,20 +4153,6 @@ name = "scroll" version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" -dependencies = [ - "scroll_derive", -] - -[[package]] -name = "scroll_derive" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.58", -] [[package]] name = "sct" @@ -4193,12 +4172,12 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "security-framework" -version = "2.11.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c627723fd09706bacdb5cf41499e95098555af3c3c29d014dc3c458ef6be11c0" +checksum = "271720403f46ca04f7ba6f55d438f8bd878d6b8ca0a1046e8228c4145bcbb316" dependencies = [ "bitflags 2.6.0", - "core-foundation", + "core-foundation 0.10.0", "core-foundation-sys", "libc", "security-framework-sys", @@ -4206,9 +4185,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.0" +version = "2.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "317936bbbd05227752583946b9e66d7ce3b489f84e11a94a510b4437fef407d7" +checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" dependencies = [ "core-foundation-sys", "libc", @@ -4231,9 +4210,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.204" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" dependencies = [ "serde_derive", ] @@ -4259,13 +4238,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.219" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -4276,7 +4255,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -4290,11 +4269,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.140" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -4313,24 +4293,25 @@ dependencies = [ [[package]] name = "serde_with" -version = "2.3.3" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +checksum = "d6b6f7f2fcb69f747921f79f3926bd1e203fce4fef62c268dd3abfb6d86029aa" dependencies = [ "serde", + "serde_derive", "serde_with_macros", ] [[package]] name = "serde_with_macros" -version = "2.3.3" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +checksum = "8d00caa5193a3c8362ac2b73be6b9e768aa5a4b2f721d8f4b339600c3cb51f8e" dependencies = [ "darling", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -4339,7 +4320,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.2.6", + "indexmap", "itoa", "ryu", "serde", @@ -4381,18 +4362,6 @@ dependencies = [ "digest 0.10.7", ] -[[package]] -name = "sha3" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f81199417d4e5de3f04b1e871023acea7389672c4135918f05aa9cbf2f2fa809" -dependencies = [ - "block-buffer 0.9.0", - "digest 0.9.0", - "keccak", - "opaque-debug", -] - [[package]] name = "sha3" version = "0.10.8" @@ -4413,10 +4382,10 @@ dependencies = [ ] [[package]] -name = "shell-words" -version = "1.1.0" +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" @@ -4470,7 +4439,7 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58267dd2fbaa6dceecba9e3e106d2d90a2b02497c0e8b01b8759beccf5113938" dependencies = [ - "num 0.2.1", + "num 0.4.3", ] [[package]] @@ -4489,192 +4458,275 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "solana-account" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc8a1697bdaf669a3786ceb8751d888463747f30a10d08fb3d3399c8e8861301" +dependencies = [ + "bincode", + "serde", + "serde_bytes", + "serde_derive", + "solana-instruction", + "solana-program", +] + [[package]] name = "solana-account-decoder" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4973213a11c2e1b924b36e0c6688682b5aa4623f8d4eeaa1204c32cee524e6d6" +checksum = "e8b612a2db04fc53399d3c655f29750311307e5e24f3e02c38a6a47646556974" dependencies = [ "Inflector", - "base64 0.21.7", + "base64 0.22.1", "bincode", - "bs58 0.4.0", + "bs58", "bv", "lazy_static", "serde", "serde_derive", "serde_json", + "solana-account-decoder-client-types", "solana-config-program", "solana-sdk", - "spl-token 4.0.0", - "spl-token-2022 1.0.0", - "spl-token-group-interface 0.1.0", - "spl-token-metadata-interface 0.2.0", - "thiserror", + "spl-token 6.0.0", + "spl-token-2022 4.0.0", + "spl-token-group-interface 0.3.0", + "spl-token-metadata-interface 0.4.0", + "thiserror 1.0.69", + "zstd", +] + +[[package]] +name = "solana-account-decoder-client-types" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2249bcb1a569a9b62ace2088d45f63923667c700a4c80c58ce95dd5c00de93c" +dependencies = [ + "base64 0.22.1", + "bs58", + "serde", + "serde_derive", + "serde_json", + "solana-account", + "solana-pubkey", "zstd", ] +[[package]] +name = "solana-account-info" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0208a6ce6349850842b0a226114af298e1b9237998484c2b467fe513c84f66f4" +dependencies = [ + "bincode", + "serde", + "solana-program-error", + "solana-program-memory", + "solana-pubkey", +] + [[package]] name = "solana-accounts-db" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74c06263320e399af20d46c8cebea7a1d5dc1bc56f31f8dfaacf7119576c48a7" +checksum = "74d7fca29e8ad794b181a34cdb3bd6f3469c3bd2c2e3f37315482fe0868f84b8" dependencies = [ - "arrayref", + "ahash 0.8.11", "bincode", "blake3", "bv", "bytemuck", - "byteorder", + "bytemuck_derive", "bzip2", "crossbeam-channel", "dashmap", - "flate2", - "fnv", - "im", "index_list", - "itertools 0.10.5", + "indexmap", + "itertools 0.12.1", "lazy_static", "log", "lz4", "memmap2", "modular-bitfield", - "num-derive 0.4.2", - "num-traits", "num_cpus", - "num_enum 0.7.2", - "ouroboros", - "percentage", - "qualifier_attr", + "num_enum", "rand 0.8.5", "rayon", - "regex", - "rustc_version", "seqlock", "serde", "serde_derive", "smallvec", "solana-bucket-map", - "solana-config-program", - "solana-frozen-abi", - "solana-frozen-abi-macro", + "solana-inline-spl", + "solana-lattice-hash", "solana-measure", "solana-metrics", "solana-nohash-hasher", - "solana-program-runtime", "solana-rayon-threadlimit", "solana-sdk", - "solana-stake-program", - "solana-system-program", - "solana-vote-program", + "solana-svm-transaction", "static_assertions", - "strum 0.24.1", - "strum_macros 0.24.3", "tar", "tempfile", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "solana-address-lookup-table-program" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4e57cb8f2e90361280b246f70bb7f5f86f4e4ff1ad5bbdfe18a81bea141f03a" +checksum = "405ca5ea0bd3172ea38359b4377f8aaf5ff5d925a99864fec57c26de840d99e6" dependencies = [ "bincode", "bytemuck", "log", "num-derive 0.4.2", "num-traits", - "rustc_version", - "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", + "solana-feature-set", + "solana-log-collector", "solana-program", "solana-program-runtime", "solana-sdk", - "thiserror", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-atomic-u64" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6cffca840b9aef9e35051b5addc6f8bf179594346dea8a05cb527e84c758b225" +dependencies = [ + "parking_lot", ] [[package]] name = "solana-banks-client" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c65a9540370523f3ade7190526309337cc50f1d742b3341dfa7357da3f59a56" +checksum = "db12f1f869941527d9a985fe01ed82e55312af9b9dfed795ccd41fbdb7eb835d" dependencies = [ - "borsh 1.5.1", + "borsh 1.5.7", "futures", "solana-banks-interface", "solana-program", "solana-sdk", "tarpc", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-serde", ] [[package]] name = "solana-banks-interface" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b1dc20a7a71cf37bcbc2a3a5dfd73d7410a13850aa68d954a9c09e6a77e652" +checksum = "5bc09d1f1c1be091ee929a9a582f9d13c4a65f19a72ae9d0aa2478d431ddc17a" dependencies = [ "serde", + "serde_derive", "solana-sdk", "tarpc", ] [[package]] name = "solana-banks-server" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d449d55d3c5c3fe4c9f0c9f790a9feabe294f8ff0b4c6b771a20b2313ad8974a" +checksum = "4921c2b6c0a952dd35025ccda66706fc0b1c1025160750de5634918892e8c7f9" dependencies = [ "bincode", "crossbeam-channel", "futures", - "solana-accounts-db", "solana-banks-interface", "solana-client", + "solana-feature-set", "solana-runtime", "solana-sdk", "solana-send-transaction-service", + "solana-svm", "tarpc", "tokio", "tokio-serde", ] +[[package]] +name = "solana-bincode" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec16f955b9fcc2021b1f8eb347d22f8f3431552107b4561958a0d5d3ae8e9dec" +dependencies = [ + "bincode", + "serde", + "solana-instruction", +] + +[[package]] +name = "solana-bn254" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d7ccd91311c95c71b7dfa9b0118e5f663005d9aa044029e2909db5241d3d55c" +dependencies = [ + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "bytemuck", + "solana-program", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-borsh" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "344fee9277ae2c36c8560ba4478b474fa1689c73e086fedb7a5265a926e8c63a" +dependencies = [ + "borsh 0.10.3", + "borsh 1.5.7", +] + [[package]] name = "solana-bpf-loader-program" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b1a55b8533f2dc716602e7c1b2bd555d5ac598ef6e80d28a517e6f31baf042e" +checksum = "c139606662646889222bc1499f12bd4287de7a13a6ab3ed0f582208e41cf67be" dependencies = [ "bincode", "byteorder", "libsecp256k1 0.6.0", "log", "scopeguard", + "solana-bn254", + "solana-compute-budget", + "solana-curve25519", + "solana-feature-set", + "solana-log-collector", "solana-measure", + "solana-poseidon", + "solana-program-memory", "solana-program-runtime", "solana-sdk", - "solana-zk-token-sdk", + "solana-timings", + "solana-type-overrides", "solana_rbpf", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "solana-bucket-map" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fda213af7ae26ce249120f211060d2a85d87fe367c6490ee19b70845cbd320fc" +checksum = "071f4066a875d79e596903f0db2ea760d64fafa8077286e29abd36d3f4c8e5e3" dependencies = [ "bv", "bytemuck", + "bytemuck_derive", "log", "memmap2", "modular-bitfield", - "num_enum 0.7.2", + "num_enum", "rand 0.8.5", "solana-measure", "solana-sdk", @@ -4682,41 +4734,43 @@ dependencies = [ ] [[package]] -name = "solana-clap-utils" -version = "1.18.17" +name = "solana-builtins-default-costs" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909f4553d0b31bb5b97533a6b64cc321a4eace9112d6efbabcf4408ea1b3f1db" +checksum = "9a9bd1b2ee1161562553bb8d04334ef4a4c083227caf4a8a82d0e5b48390eead" dependencies = [ - "chrono", - "clap 2.34.0", - "rpassword", - "solana-remote-wallet", + "ahash 0.8.11", + "lazy_static", + "log", + "solana-address-lookup-table-program", + "solana-bpf-loader-program", + "solana-compute-budget-program", + "solana-config-program", + "solana-loader-v4-program", "solana-sdk", - "thiserror", - "tiny-bip39", - "uriparse", - "url", + "solana-stake-program", + "solana-system-program", + "solana-vote-program", ] [[package]] name = "solana-client" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5cc431df6cc1dd964134fa4ec7df765d3af3fae9c2148f96a3c4fb500290633" +checksum = "70b4df5f628ef6b5196aceb12fa3753dad9f04dcefe8e05bb5fa34f74aebd35b" dependencies = [ "async-trait", "bincode", "dashmap", "futures", "futures-util", - "indexmap 2.2.6", + "indexmap", "indicatif", "log", "quinn", "rayon", "solana-connection-cache", "solana-measure", - "solana-metrics", "solana-pubsub-client", "solana-quic-client", "solana-rpc-client", @@ -4727,15 +4781,36 @@ dependencies = [ "solana-thin-client", "solana-tpu-client", "solana-udp-client", - "thiserror", + "thiserror 1.0.69", "tokio", ] +[[package]] +name = "solana-clock" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd6aa6fec0cd6116c51258e60a9faa144d3ac772a210192a934b5b2d6775a850" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-macro", + "solana-sysvar-id", +] + +[[package]] +name = "solana-compute-budget" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60ccc544564e2c9ba7304480c8117a19ed4e7f55da9dc457d1aa1a5813d57ab5" +dependencies = [ + "solana-sdk", +] + [[package]] name = "solana-compute-budget-program" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eb36ef3c3a1f38515c1ae0d255c4d6e5e635a856ac2aa1cd5f892b3db58e857" +checksum = "2edf6c5997fdce839e0d9a35d71ed02a37d11feb17d2c06a526ae26f5ffd2c94" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -4743,189 +4818,363 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38b040d3a42e8f7d80c4a86bb0d49d7aed663b56b0fe0ae135d2d145fb7ae3a" +checksum = "3807510e39cfb957400650e813326490cd1a526cd569254f89691a5a60d5a916" dependencies = [ "bincode", "chrono", "serde", "serde_derive", + "solana-log-collector", "solana-program-runtime", "solana-sdk", + "solana-short-vec", ] [[package]] name = "solana-connection-cache" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae02622c63943485f0af3d0896626eaf6478e734f0b6bc61c7cc5320963c6e75" +checksum = "1c3e2ed868c40c1003286f0d3d879a2bc026f23f408ec794420e1fad3a10a7e5" dependencies = [ "async-trait", "bincode", "crossbeam-channel", "futures-util", - "indexmap 2.2.6", + "indexmap", "log", "rand 0.8.5", "rayon", - "rcgen", "solana-measure", "solana-metrics", "solana-sdk", - "thiserror", + "thiserror 1.0.69", "tokio", ] [[package]] name = "solana-cost-model" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "838532d8437d00958621d2589d6033e9c69ea95cd0936efa8964146e49dcff53" +checksum = "4d3aa2d039633446d7af3dc625be944099082dbd841632a0d520af431ccb3142" dependencies = [ + "ahash 0.8.11", "lazy_static", "log", - "rustc_version", - "solana-address-lookup-table-program", - "solana-bpf-loader-program", - "solana-compute-budget-program", - "solana-config-program", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-loader-v4-program", + "solana-builtins-default-costs", + "solana-compute-budget", + "solana-feature-set", "solana-metrics", - "solana-program-runtime", + "solana-runtime-transaction", "solana-sdk", - "solana-stake-program", - "solana-system-program", + "solana-svm-transaction", "solana-vote-program", ] [[package]] -name = "solana-frozen-abi" -version = "1.18.17" +name = "solana-cpi" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4867f66e9527fa44451c861c1dc6d9b2a7c7a668d7c6a297cdefbe39f4395b33" +checksum = "2d78f05dc684a6fb1090823a1e17dc9ccb0b7b1875b4486bd31a9bd9fc5d3813" dependencies = [ - "block-buffer 0.10.4", - "bs58 0.4.0", - "bv", - "either", - "generic-array", - "im", - "lazy_static", - "log", - "memmap2", - "rustc_version", - "serde", - "serde_bytes", - "serde_derive", - "sha2 0.10.8", - "solana-frozen-abi-macro", - "subtle", - "thiserror", + "solana-account-info", + "solana-define-syscall", + "solana-instruction", + "solana-program-error", + "solana-pubkey", + "solana-stable-layout", ] [[package]] -name = "solana-frozen-abi-macro" -version = "1.18.17" +name = "solana-curve25519" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168f24d97347b85f05192df58d6be3e3047a4aadc4001bc1b9e711a5ec878eea" +checksum = "69c77df8deb48b0da86df71092c45541044deb789366f480205034b7f4156b4f" dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.58", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "solana-program", + "thiserror 1.0.69", ] [[package]] -name = "solana-loader-v4-program" -version = "1.18.17" +name = "solana-decode-error" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98c426482234b7c267a5e0dfa8198442e1ffad2ad6c521f6b810949bc2719215" +checksum = "2f2dfa7da2e4e701312d2887ee62ab7869c355e261559603b8e50d2766334935" dependencies = [ - "log", - "solana-measure", - "solana-program-runtime", - "solana-sdk", - "solana_rbpf", + "num-traits", ] [[package]] -name = "solana-logger" -version = "1.18.17" +name = "solana-define-syscall" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42087a9f1567719e19eb9f2fe91ee620881690cb8012add9926478e051329b01" + +[[package]] +name = "solana-derivation-path" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0511082fc62f2d086520fff5aa1917c389d8c840930c08ad255ae05952c08a2" +checksum = "ac16984dca3898c1f8584ef29c9944d807bdd76e66731f0fd970da50208d8b73" dependencies = [ - "env_logger", - "lazy_static", - "log", + "derivation-path", + "qstring", + "uriparse", ] [[package]] -name = "solana-measure" -version = "1.18.17" +name = "solana-epoch-schedule" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be55a3df105431d25f86f2a7da0cbbde5f54c1f0782ca59367ea4a8037bc6797" +checksum = "da5c12ca420f4c4a417e198c29048119187904372f0b4612b372e3a84e6437fc" dependencies = [ - "log", - "solana-sdk", + "serde", + "serde_derive", + "solana-sdk-macro", + "solana-sysvar-id", ] [[package]] -name = "solana-metrics" -version = "1.18.17" +name = "solana-feature-set" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddec097ed7572804389195128dbd57958b427829153c6cd8ec3343c86fe3cd22" +checksum = "a1a31d4660c881b79b5109bbe072f6bc41db769d96b1a235820db454c95bdc47" dependencies = [ - "crossbeam-channel", - "gethostname", "lazy_static", - "log", - "reqwest", - "solana-sdk", - "thiserror", + "solana-clock", + "solana-epoch-schedule", + "solana-hash", + "solana-pubkey", + "solana-sha256-hasher", ] [[package]] -name = "solana-net-utils" -version = "1.18.17" +name = "solana-fee" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "258fa7c29fb7605b8d2ed89aa0d43c640d14f4147ad1f5b3fdad19a1ac145ca5" +checksum = "4af3ea38de93a4dcca6fbb4e1d268bd5cdff7f8e658252da75341313ce8012e6" dependencies = [ - "bincode", - "clap 3.2.25", - "crossbeam-channel", - "log", - "nix", - "rand 0.8.5", - "serde", - "serde_derive", - "socket2", - "solana-logger", "solana-sdk", - "solana-version", - "tokio", - "url", + "solana-svm-transaction", ] [[package]] -name = "solana-nohash-hasher" -version = "0.2.1" +name = "solana-fee-calculator" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" +checksum = "6cf58676b6d322cd1a95425828fcd67a49de6253a550d9cd99c9728c3b97aae6" +dependencies = [ + "log", + "serde", + "serde_derive", +] [[package]] -name = "solana-perf" -version = "1.18.17" +name = "solana-hash" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca422edcf16a6e64003ca118575ea641f7b750f14a0ad28c71dd84f33dcb912a" +checksum = "e75e12a61d3a8a0db6fec4d69bfc33bfec7aec4466f4860ead4dc8f56252f267" dependencies = [ - "ahash 0.8.11", - "bincode", - "bv", + "borsh 1.5.7", + "bs58", + "bytemuck", + "bytemuck_derive", + "js-sys", + "serde", + "serde_derive", + "solana-atomic-u64", + "solana-sanitize", + "wasm-bindgen", +] + +[[package]] +name = "solana-inflation" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c820f72a9f85537072da1ab40d75a33c8d37e093f6d24bce449803155ffbb47" +dependencies = [ + "serde", + "serde_derive", +] + +[[package]] +name = "solana-inline-spl" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "032b37dbaf9d6096fcb50d11c2c2d0ab12821233d19e0b1d809da7013b0f1cbe" +dependencies = [ + "bytemuck", + "solana-pubkey", +] + +[[package]] +name = "solana-instruction" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59baf8834fc97718ccad69f49b09a859c2aebc7368a6da683bcdb55e144ae8f6" +dependencies = [ + "bincode", + "borsh 1.5.7", + "getrandom 0.2.15", + "js-sys", + "num-traits", + "serde", + "serde_derive", + "solana-define-syscall", + "solana-pubkey", + "wasm-bindgen", +] + +[[package]] +name = "solana-last-restart-slot" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2739105d00788ee7ff24fcc6ad78998dc17536ab0e0c10b5e18958843ada4212" +dependencies = [ + "serde", + "serde_derive", + "solana-sdk-macro", + "solana-sysvar-id", +] + +[[package]] +name = "solana-lattice-hash" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c9a2549bd1282a91abaeb5a37fe002ccd766e1cbe67798273f26a1d6053203d" +dependencies = [ + "base64 0.22.1", + "blake3", + "bs58", + "bytemuck", +] + +[[package]] +name = "solana-loader-v4-program" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b6231e29d5b2d24a7a41ff93dc129a7288fe4f3f26653630a0c44ebe78f216" +dependencies = [ + "log", + "solana-bpf-loader-program", + "solana-compute-budget", + "solana-log-collector", + "solana-measure", + "solana-program-runtime", + "solana-sdk", + "solana-type-overrides", + "solana_rbpf", +] + +[[package]] +name = "solana-log-collector" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05e14715be3ae19be91043fa1ebf895d22d81cd740aba4849209875dc319d845" +dependencies = [ + "log", +] + +[[package]] +name = "solana-logger" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb294b86c24163c878c3e69db5cad0bbe8a0d5b81de9af72a6433230d988114d" +dependencies = [ + "env_logger", + "lazy_static", + "log", +] + +[[package]] +name = "solana-measure" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf9efc6bae9250e8e97d0cd229ccd39a2f29664a15d9148c68328f70ec2205a9" + +[[package]] +name = "solana-metrics" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97c27f863635bf028c950eebddf9e6befa229e7c96e3d46858d80e3674d4f6b9" +dependencies = [ + "crossbeam-channel", + "gethostname", + "lazy_static", + "log", + "reqwest", + "solana-sdk", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-msg" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9b1f994633ef77862c265e4ea81dcbc5d855d144251a7ac00ac171a2d62e469" +dependencies = [ + "solana-define-syscall", +] + +[[package]] +name = "solana-native-token" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e93442461a41eae81a833b448e354b107288488015a6953864165ffe9c357dc2" + +[[package]] +name = "solana-net-utils" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a194f4c9ebf06062fa6da48bfadd4dcb8bb8db5b9ce9b56e7051be7c8fe28b7" +dependencies = [ + "bincode", + "crossbeam-channel", + "log", + "nix", + "rand 0.8.5", + "serde", + "serde_derive", + "socket2", + "solana-sdk", + "tokio", + "url", +] + +[[package]] +name = "solana-nohash-hasher" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" + +[[package]] +name = "solana-packet" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87d4056d1beceb0361d7987baa1420d7041d71707ebad38c83277bfd9a916ddb" +dependencies = [ + "bincode", + "bitflags 2.6.0", + "cfg_eval", + "serde", + "serde_derive", + "serde_with", +] + +[[package]] +name = "solana-perf" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40474d2bffedf6d2356e4eb61c105f4ee050653dff2e6e9a066d039a6820282f" +dependencies = [ + "ahash 0.8.11", + "bincode", + "bv", "caps", - "curve25519-dalek", + "curve25519-dalek 4.1.3", "dlopen2", "fnv", "lazy_static", @@ -4934,47 +5183,59 @@ dependencies = [ "nix", "rand 0.8.5", "rayon", - "rustc_version", "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", "solana-metrics", "solana-rayon-threadlimit", "solana-sdk", + "solana-short-vec", "solana-vote-program", ] [[package]] -name = "solana-program" -version = "1.18.17" +name = "solana-poseidon" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bc5a636dc75e5c25651e34f7a36afc9ae60d38166687c5b0375abb580ac81a2" +checksum = "c01d7cf84273b79ee57e2df6726b20b8a2b2bbbc781078573abb40ca6fce1a9e" dependencies = [ "ark-bn254", - "ark-ec", - "ark-ff", - "ark-serialize", - "base64 0.21.7", + "light-poseidon", + "solana-define-syscall", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-precompile-error" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79f1e4a080b4570413865aa8d0ec62965da90d716445d245084a1b1a26fdcbdd" +dependencies = [ + "num-traits", + "solana-decode-error", +] + +[[package]] +name = "solana-program" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8afbd3d296f660dc3841c438412bfa36367816de21e515fb5e45c91772661d1" +dependencies = [ + "base64 0.22.1", "bincode", "bitflags 2.6.0", "blake3", "borsh 0.10.3", - "borsh 0.9.3", - "borsh 1.5.1", - "bs58 0.4.0", + "borsh 1.5.7", + "bs58", "bv", "bytemuck", - "cc", + "bytemuck_derive", "console_error_panic_hook", "console_log", - "curve25519-dalek", + "curve25519-dalek 4.1.3", + "five8_const", "getrandom 0.2.15", - "itertools 0.10.5", "js-sys", "lazy_static", - "libc", - "libsecp256k1 0.6.0", - "light-poseidon", "log", "memoffset 0.9.1", "num-bigint 0.4.6", @@ -4982,60 +5243,141 @@ dependencies = [ "num-traits", "parking_lot", "rand 0.8.5", - "rustc_version", - "rustversion", "serde", "serde_bytes", "serde_derive", - "serde_json", "sha2 0.10.8", - "sha3 0.10.8", - "solana-frozen-abi", - "solana-frozen-abi-macro", + "sha3", + "solana-account-info", + "solana-atomic-u64", + "solana-bincode", + "solana-borsh", + "solana-clock", + "solana-cpi", + "solana-decode-error", + "solana-define-syscall", + "solana-epoch-schedule", + "solana-fee-calculator", + "solana-hash", + "solana-instruction", + "solana-last-restart-slot", + "solana-msg", + "solana-native-token", + "solana-program-entrypoint", + "solana-program-error", + "solana-program-memory", + "solana-program-option", + "solana-program-pack", + "solana-pubkey", + "solana-rent", + "solana-sanitize", "solana-sdk-macro", - "thiserror", - "tiny-bip39", + "solana-secp256k1-recover", + "solana-serde-varint", + "solana-serialize-utils", + "solana-sha256-hasher", + "solana-short-vec", + "solana-slot-hashes", + "solana-slot-history", + "solana-stable-layout", + "solana-sysvar-id", + "solana-transaction-error", + "thiserror 1.0.69", "wasm-bindgen", - "zeroize", +] + +[[package]] +name = "solana-program-entrypoint" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3792a05e134900bb22731235dd23ec6f7b8144983d0b753b3da3566cf8092b2" +dependencies = [ + "solana-account-info", + "solana-msg", + "solana-program-error", + "solana-pubkey", +] + +[[package]] +name = "solana-program-error" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d11f976b42dafada93b9b4a3fe12eac6948088ebb979b5f48f96ccdfd7f13d" +dependencies = [ + "borsh 1.5.7", + "num-traits", + "serde", + "serde_derive", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-pubkey", +] + +[[package]] +name = "solana-program-memory" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d56f210a300b64d483ba5907dfa4cd0e4e1ee9ea75e66d1b1293e47a5f1151bf" +dependencies = [ + "num-traits", + "solana-define-syscall", +] + +[[package]] +name = "solana-program-option" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6774f4cc0cf3bf5a3359c002943a84b029e349010098c7e964f422d1ef9167c" + +[[package]] +name = "solana-program-pack" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523be6ea0cbd71da490a490dc9edc3960f7086ef694f0ba6e2bbdaa2a08d9097" +dependencies = [ + "solana-program-error", ] [[package]] name = "solana-program-runtime" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf373c3da0387f47fee4c5ed2465a9628b9db026a62211a692a9285aa9251544" +checksum = "a0516a5222cdda26ce383e28731c9631390d214a7e2648f5987d78d731f651d9" dependencies = [ - "base64 0.21.7", + "base64 0.22.1", "bincode", - "eager", "enum-iterator", - "itertools 0.10.5", + "itertools 0.12.1", "libc", "log", "num-derive 0.4.2", "num-traits", "percentage", "rand 0.8.5", - "rustc_version", "serde", - "solana-frozen-abi", - "solana-frozen-abi-macro", + "solana-compute-budget", + "solana-feature-set", + "solana-log-collector", "solana-measure", "solana-metrics", "solana-sdk", + "solana-timings", + "solana-type-overrides", + "solana-vote", "solana_rbpf", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "solana-program-test" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9194b8744c5b135401ab4a2923a1072d3a67697bd50f7450a4ed5302f36a6999" +checksum = "ca41368a4746a79d5a250a71b567a424482eae1c65981390a408854b8553a81c" dependencies = [ "assert_matches", "async-trait", - "base64 0.21.7", + "base64 0.22.1", "bincode", "chrono-humanize", "crossbeam-channel", @@ -5046,22 +5388,55 @@ dependencies = [ "solana-banks-interface", "solana-banks-server", "solana-bpf-loader-program", + "solana-compute-budget", + "solana-feature-set", + "solana-inline-spl", + "solana-instruction", + "solana-log-collector", "solana-logger", "solana-program-runtime", "solana-runtime", "solana-sdk", + "solana-svm", + "solana-timings", "solana-vote-program", "solana_rbpf", - "test-case", - "thiserror", + "thiserror 1.0.69", "tokio", ] +[[package]] +name = "solana-pubkey" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53bd13d0350ea7e518e038402ccdc40f23f25d058f678fbf99b98e8c40aa2d89" +dependencies = [ + "borsh 0.10.3", + "borsh 1.5.7", + "bs58", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "five8_const", + "getrandom 0.2.15", + "js-sys", + "num-traits", + "rand 0.8.5", + "serde", + "serde_derive", + "solana-atomic-u64", + "solana-decode-error", + "solana-define-syscall", + "solana-sanitize", + "solana-sha256-hasher", + "wasm-bindgen", +] + [[package]] name = "solana-pubsub-client" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b9abc76168d19927561db6a3685b98752bd0961b4ce4f8b7f85ee12238c017" +checksum = "d3419ba8d310907ff0fc59f993b03cbb91134f59cc8cfdd4d00148e7fbcdc0ee" dependencies = [ "crossbeam-channel", "futures-util", @@ -5074,7 +5449,7 @@ dependencies = [ "solana-account-decoder", "solana-rpc-client-api", "solana-sdk", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-stream", "tokio-tungstenite", @@ -5084,20 +5459,19 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7952c5306a0be5f5276448cd20246b31265bfa884f29a077a24303c6a16aeb34" +checksum = "859d9ceebb3cc2b2d13544385682ece8803d9eb9c004d2cd46fc171826c82395" dependencies = [ - "async-mutex", + "async-lock", "async-trait", "futures", - "itertools 0.10.5", + "itertools 0.12.1", "lazy_static", "log", "quinn", - "quinn-proto", - "rcgen", - "rustls", + "quinn-proto 0.11.11", + "rustls 0.23.26", "solana-connection-cache", "solana-measure", "solana-metrics", @@ -5105,60 +5479,54 @@ dependencies = [ "solana-rpc-client-api", "solana-sdk", "solana-streamer", - "thiserror", + "thiserror 1.0.69", "tokio", ] [[package]] name = "solana-rayon-threadlimit" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4fa0cc66f8e73d769bca2ede3012ba2ef8ab67963e832808665369f2cf81743" +checksum = "5292c803e4ab518dcdd6f45d11cc82c1d6e95798662c26cc725746263a2d5c91" dependencies = [ "lazy_static", "num_cpus", ] [[package]] -name = "solana-remote-wallet" -version = "1.18.17" +name = "solana-rent" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "289803796d4ff7b4699504d3ab9e9d9c5205ea3892b2ebe397b377494dbd75d4" +checksum = "be7ddfa29be6122cb9682e343b55b48687360e56950c928735a5084cafaf42ad" dependencies = [ - "console", - "dialoguer", - "log", - "num-derive 0.4.2", - "num-traits", - "parking_lot", - "qstring", - "semver", - "solana-sdk", - "thiserror", - "uriparse", + "serde", + "serde_derive", + "solana-sdk-macro", + "solana-sysvar-id", ] [[package]] name = "solana-rpc-client" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb55a08018776a62ecff52139fbcdab1a7baa4e8f077202be58156e8dde4d5f" +checksum = "daff6e5efce459257dca6b158058882b6720d91f5fe9a83986c201668963a645" dependencies = [ "async-trait", - "base64 0.21.7", + "base64 0.22.1", "bincode", - "bs58 0.4.0", + "bs58", "indicatif", "log", "reqwest", + "reqwest-middleware", "semver", "serde", "serde_derive", "serde_json", - "solana-account-decoder", + "solana-account-decoder-client-types", "solana-rpc-client-api", "solana-sdk", - "solana-transaction-status", + "solana-transaction-status-client-types", "solana-version", "solana-vote-program", "tokio", @@ -5166,48 +5534,49 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72a8403038f4d6ab65bc7e7afb3afe8d9824c592232553c5cef55cf3de36025d" +checksum = "7670d6a72467d4042da471008fc88b3ff60e94f84a29463f20907b6e114ff214" dependencies = [ - "base64 0.21.7", - "bs58 0.4.0", + "anyhow", + "base64 0.22.1", + "bs58", "jsonrpc-core", "reqwest", + "reqwest-middleware", "semver", "serde", "serde_derive", "serde_json", - "solana-account-decoder", + "solana-account-decoder-client-types", + "solana-inline-spl", "solana-sdk", - "solana-transaction-status", + "solana-transaction-status-client-types", "solana-version", - "spl-token-2022 1.0.0", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "solana-rpc-client-nonce-utils" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4caca735caf76d51c074c3bacbfe38094bf7f92cfbe7b5b13f3bc4946e64f889" +checksum = "2445c0db5d9953012b226dbb060f3ab67b80e92b5262cae10afad2863e72ea94" dependencies = [ - "clap 2.34.0", - "solana-clap-utils", "solana-rpc-client", "solana-sdk", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "solana-runtime" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b699943045665038bfa4e76dd2582b4c390f1aec6ab5edef36da43afe3469f1d" +checksum = "7a6e9b7b8554f23c62298c13638c1ceed039636c861fc11d6b3cb29503984b1d" dependencies = [ + "ahash 0.8.11", "aquamarine", "arrayref", - "base64 0.21.7", + "base64 0.22.1", "bincode", "blake3", "bv", @@ -5221,10 +5590,10 @@ dependencies = [ "fnv", "im", "index_list", - "itertools 0.10.5", + "itertools 0.12.1", "lazy_static", + "libc", "log", - "lru", "lz4", "memmap2", "mockall", @@ -5232,38 +5601,49 @@ dependencies = [ "num-derive 0.4.2", "num-traits", "num_cpus", - "num_enum 0.7.2", - "ouroboros", + "num_enum", "percentage", "qualifier_attr", "rand 0.8.5", "rayon", "regex", - "rustc_version", "serde", "serde_derive", "serde_json", + "serde_with", "solana-accounts-db", "solana-address-lookup-table-program", "solana-bpf-loader-program", "solana-bucket-map", + "solana-compute-budget", "solana-compute-budget-program", "solana-config-program", "solana-cost-model", - "solana-frozen-abi", - "solana-frozen-abi-macro", + "solana-feature-set", + "solana-fee", + "solana-inline-spl", + "solana-lattice-hash", "solana-loader-v4-program", "solana-measure", "solana-metrics", "solana-perf", + "solana-program", "solana-program-runtime", "solana-rayon-threadlimit", + "solana-runtime-transaction", "solana-sdk", "solana-stake-program", + "solana-svm", + "solana-svm-rent-collector", + "solana-svm-transaction", "solana-system-program", + "solana-timings", + "solana-transaction-status", "solana-version", "solana-vote", "solana-vote-program", + "solana-zk-elgamal-proof-program", + "solana-zk-sdk", "solana-zk-token-proof-program", "solana-zk-token-sdk", "static_assertions", @@ -5272,32 +5652,52 @@ dependencies = [ "symlink", "tar", "tempfile", - "thiserror", + "thiserror 1.0.69", "zstd", ] +[[package]] +name = "solana-runtime-transaction" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fa69ce77907ff4bfb58819f8a5ce7680d2625446d579d100cd353945c85cbeb" +dependencies = [ + "agave-transaction-view", + "log", + "solana-builtins-default-costs", + "solana-compute-budget", + "solana-pubkey", + "solana-sdk", + "solana-svm-transaction", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-sanitize" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "078d05d32ceef29bed59a44ef870adf7261ad99b1adbe4ffe23e2f981856b252" + [[package]] name = "solana-sdk" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df43d3a1e1637397ab43cbc216a5a8f977ec8a3cc3f3ae8c3851c83a3255dbcf" +checksum = "b255c18f83750d26d84b0d5623eb173de78cde45edff818375a864f42264a19a" dependencies = [ - "assert_matches", - "base64 0.21.7", "bincode", "bitflags 2.6.0", - "borsh 1.5.1", - "bs58 0.4.0", + "borsh 1.5.7", + "bs58", "bytemuck", + "bytemuck_derive", "byteorder", "chrono", - "derivation-path", "digest 0.10.7", "ed25519-dalek", "ed25519-dalek-bip32", - "generic-array", + "getrandom 0.1.16", "hmac 0.12.1", - "itertools 0.10.5", + "itertools 0.12.1", "js-sys", "lazy_static", "libsecp256k1 0.6.0", @@ -5305,43 +5705,79 @@ dependencies = [ "memmap2", "num-derive 0.4.2", "num-traits", - "num_enum 0.7.2", - "pbkdf2 0.11.0", - "qstring", - "qualifier_attr", + "num_enum", + "pbkdf2", "rand 0.7.3", "rand 0.8.5", - "rustc_version", - "rustversion", "serde", "serde_bytes", "serde_derive", "serde_json", "serde_with", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", "siphasher", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-logger", + "solana-account", + "solana-bn254", + "solana-decode-error", + "solana-derivation-path", + "solana-feature-set", + "solana-inflation", + "solana-instruction", + "solana-native-token", + "solana-packet", + "solana-precompile-error", "solana-program", + "solana-program-memory", + "solana-pubkey", + "solana-sanitize", "solana-sdk-macro", - "thiserror", - "uriparse", + "solana-secp256k1-recover", + "solana-secp256r1-program", + "solana-serde-varint", + "solana-short-vec", + "solana-signature", + "solana-transaction-error", + "thiserror 1.0.69", "wasm-bindgen", ] [[package]] name = "solana-sdk-macro" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86c76414183a325038ff020b22c07d1e9d2da0703ddc0244acfed37ee2921d96" +checksum = "a9c102ed11f8b4b0ab9a9404635b80a8a5c78e1f14aa5831cb1f78b48e5c9f16" dependencies = [ - "bs58 0.4.0", + "bs58", "proc-macro2", "quote", - "rustversion", - "syn 2.0.58", + "syn 2.0.100", +] + +[[package]] +name = "solana-secp256k1-recover" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bfb2bed7da85b4720780b7c288328b5a74050eb7da2392b2d0d8c6e67e0eaff" +dependencies = [ + "borsh 1.5.7", + "libsecp256k1 0.6.0", + "solana-define-syscall", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-secp256r1-program" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29407abab67e2b814f1e828aa0b7d7a3e4b2f242ed41a69d8d815e48f3363ead" +dependencies = [ + "bytemuck", + "openssl", + "solana-feature-set", + "solana-instruction", + "solana-precompile-error", + "solana-pubkey", ] [[package]] @@ -5352,13 +5788,14 @@ checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" [[package]] name = "solana-send-transaction-service" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e056d865d22548bb7228121e118aa632486fc1a33a100961e5e98b5663371384" +checksum = "fa2f8c3d580d63477ac6cbc215c8806bb943dd7bfd5050722542d246ef473922" dependencies = [ "crossbeam-channel", "log", "solana-client", + "solana-connection-cache", "solana-measure", "solana-metrics", "solana-runtime", @@ -5366,73 +5803,228 @@ dependencies = [ "solana-tpu-client", ] +[[package]] +name = "solana-serde-varint" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54210a9cdf83e3cbf0ffc1dc8295a55a77bc41284a6585a3461c2b312cf238e3" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-serialize-utils" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1bf4c8e7669760ee69b1cc2f204620068701dc9f3923d2b518d2bde856c274c" +dependencies = [ + "solana-instruction", + "solana-pubkey", + "solana-sanitize", +] + +[[package]] +name = "solana-sha256-hasher" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98fad3fa0864a364481984d646cac28c3fb6f774f8569116a94bc15b8fb8574d" +dependencies = [ + "sha2 0.10.8", + "solana-define-syscall", + "solana-hash", +] + +[[package]] +name = "solana-short-vec" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54cfcad114cdac44752604cb6d1d9c38e59f0a35ae4e5a500f6ef7bd9b0b9ede" +dependencies = [ + "serde", +] + +[[package]] +name = "solana-signature" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a98a0bbb26b622725678b5c83823117fdf841b7fae08b03d69789eb8b94ba523" +dependencies = [ + "bs58", + "ed25519-dalek", + "generic-array", + "rand 0.8.5", + "serde", + "serde_derive", + "solana-sanitize", +] + +[[package]] +name = "solana-slot-hashes" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7f2430f03dd7dcaa0aeb91e1083d9bae9860dc169648e09219dc2acb5d3c412" +dependencies = [ + "serde", + "serde_derive", + "solana-hash", + "solana-sysvar-id", +] + +[[package]] +name = "solana-slot-history" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb21aba20b9feb7619145586eb41b7d2e150d1770f85290fcc1e59dcee5309f8" +dependencies = [ + "bv", + "serde", + "serde_derive", + "solana-sysvar-id", +] + +[[package]] +name = "solana-stable-layout" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf24e5747d8f57e9f1d0a0792d8f28cefb27a54e222fc5654516b334c5fc4471" +dependencies = [ + "solana-instruction", + "solana-pubkey", +] + [[package]] name = "solana-stake-program" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5dd1bc07beb75da5df5e07301d3d0d6104872c9afade22b910af9061fb4bc15" +checksum = "91fd9155ab658e799e2aad8a5c866958394ed80bec43393d8a1c1baf4a0b3b5f" dependencies = [ "bincode", "log", - "rustc_version", "solana-config-program", + "solana-feature-set", + "solana-log-collector", "solana-program-runtime", "solana-sdk", + "solana-type-overrides", "solana-vote-program", ] [[package]] name = "solana-streamer" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad1bdb955ec6d23a1dbf87e403ff3e610d68616275693125a893d7ed4b2d323" +checksum = "b05259f74d7478fc7c582caae3957ab51ab533646b16e9a32dd435a08868a956" dependencies = [ "async-channel", "bytes", "crossbeam-channel", + "dashmap", + "futures", "futures-util", + "governor", "histogram", - "indexmap 2.2.6", - "itertools 0.10.5", + "indexmap", + "itertools 0.12.1", "libc", "log", "nix", "pem", "percentage", - "pkcs8", "quinn", - "quinn-proto", + "quinn-proto 0.11.11", "rand 0.8.5", - "rcgen", - "rustls", + "rustls 0.23.26", "smallvec", + "socket2", + "solana-measure", "solana-metrics", "solana-perf", "solana-sdk", - "thiserror", + "solana-transaction-metrics-tracker", + "thiserror 1.0.69", "tokio", + "tokio-util 0.7.11", "x509-parser", ] +[[package]] +name = "solana-svm" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4045fa0ab009043e8637cf91a559c31a8adf69c2ff37ea99a4acb536eee8a5c1" +dependencies = [ + "itertools 0.12.1", + "log", + "percentage", + "serde", + "serde_derive", + "solana-bpf-loader-program", + "solana-compute-budget", + "solana-feature-set", + "solana-fee", + "solana-loader-v4-program", + "solana-log-collector", + "solana-measure", + "solana-program-runtime", + "solana-runtime-transaction", + "solana-sdk", + "solana-svm-rent-collector", + "solana-svm-transaction", + "solana-system-program", + "solana-timings", + "solana-type-overrides", + "solana-vote", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-svm-rent-collector" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f706d930e1d3f7c2842f5cb693a82e36282c42a58f6f2d2f23fd3343160d1bee" +dependencies = [ + "solana-sdk", +] + +[[package]] +name = "solana-svm-transaction" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8902209a34c413f1c7ff3b207661d2651c26e369405f7cf6bcf2f7d1ec8d4f3b" +dependencies = [ + "solana-sdk", +] + [[package]] name = "solana-system-program" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78733745268c96d5a29c09cde9f0a6c9d662abba43e661b75dd858da8e3d0b2e" +checksum = "9825034f859142f6ff4dc51d614653bad91ee5a1786f7701d626010c34d0034a" dependencies = [ "bincode", "log", "serde", "serde_derive", + "solana-log-collector", "solana-program-runtime", "solana-sdk", + "solana-type-overrides", +] + +[[package]] +name = "solana-sysvar-id" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abc3d7b31a88059e9e7b0e6a3c355f911a765e5e30f3b4556a80ecd5eeebfd96" +dependencies = [ + "solana-pubkey", ] [[package]] name = "solana-thin-client" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc301310ba0755c449a8800136f67f8ad14419b366404629894cd10021495360" +checksum = "71dec075f921639dac3dd922ab18ebfa809330083a999fd4ab0a86dd401529db" dependencies = [ "bincode", "log", @@ -5443,41 +6035,79 @@ dependencies = [ "solana-sdk", ] +[[package]] +name = "solana-timings" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b3873609ffe9b9ceb97349cd7e28cf4f81965ce4051ad2d4bae4fde4ff198f" +dependencies = [ + "eager", + "enum-iterator", + "solana-sdk", +] + [[package]] name = "solana-tpu-client" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb887bd5078ff015e103e9ee54a6713380590efa8ff1804b3a653f07188928c6" +checksum = "c2495e3d2a434c77c42a69f5a8c67f1a19b97bde1b178af904afcd24483701c5" dependencies = [ "async-trait", "bincode", "futures-util", - "indexmap 2.2.6", + "indexmap", "indicatif", "log", - "rayon", - "solana-connection-cache", - "solana-measure", - "solana-metrics", - "solana-pubsub-client", - "solana-rpc-client", - "solana-rpc-client-api", + "rayon", + "solana-connection-cache", + "solana-measure", + "solana-pubsub-client", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-sdk", + "thiserror 1.0.69", + "tokio", +] + +[[package]] +name = "solana-transaction-error" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b8fd565f33e5595802fa73401ce2fecd3bb6a04ba1ee9ce0f614fa31e19f4d" +dependencies = [ + "serde", + "serde_derive", + "solana-instruction", + "solana-sanitize", +] + +[[package]] +name = "solana-transaction-metrics-tracker" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1b36a8b4c7c389459e351ef00b417071b9ca642e61ef6f248e7c0510025144c" +dependencies = [ + "base64 0.22.1", + "bincode", + "lazy_static", + "log", + "rand 0.8.5", + "solana-perf", "solana-sdk", - "thiserror", - "tokio", + "solana-short-vec", ] [[package]] name = "solana-transaction-status" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0cdfdf63192fb60de094fae8e81159e4e3e9aac9659fe3f9ef0e707023fb32" +checksum = "b138ec46ceb38ff12baf73e543f1ce0b17e9dfd0c190dedc7692f3087baff36c" dependencies = [ "Inflector", - "base64 0.21.7", + "base64 0.22.1", "bincode", - "borsh 0.10.3", - "bs58 0.4.0", + "borsh 1.5.7", + "bs58", "lazy_static", "log", "serde", @@ -5485,94 +6115,165 @@ dependencies = [ "serde_json", "solana-account-decoder", "solana-sdk", - "spl-associated-token-account 2.3.0", - "spl-memo", - "spl-token 4.0.0", - "spl-token-2022 1.0.0", - "thiserror", + "solana-transaction-status-client-types", + "spl-associated-token-account 4.0.0", + "spl-memo 5.0.0", + "spl-token 6.0.0", + "spl-token-2022 4.0.0", + "spl-token-group-interface 0.3.0", + "spl-token-metadata-interface 0.4.0", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-transaction-status-client-types" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5db403124c4273bcade8bf7480e2b32a9d95b704007724f88d1231e3fe8de9f" +dependencies = [ + "base64 0.22.1", + "bincode", + "bs58", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder-client-types", + "solana-sdk", + "solana-signature", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-type-overrides" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0820dae5ea28d14f3397a3fb916e5aee53c4b20e08ad94bde9135583cce37bb6" +dependencies = [ + "lazy_static", + "rand 0.8.5", ] [[package]] name = "solana-udp-client" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ea0d6d8d66e36371577f51c4d1d6192a66f1fa4efe7161a36d94677640dcadb" +checksum = "5b18ba83acfc0480d38edddeb9ae9f0c8ccc14ed0674c2b61ca2f098f27417b6" dependencies = [ "async-trait", "solana-connection-cache", "solana-net-utils", "solana-sdk", "solana-streamer", - "thiserror", + "thiserror 1.0.69", "tokio", ] [[package]] name = "solana-version" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f4c2f531c22ce806b211118be8928a791425f97de4592371fb57b246ed33e34" +checksum = "f1648d5c60517387ff3dd202313834ddd5adc8ae65d2cc7aebe237bb6baa5707" dependencies = [ - "log", - "rustc_version", "semver", "serde", "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk", + "solana-feature-set", + "solana-sanitize", + "solana-serde-varint", ] [[package]] name = "solana-vote" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28ab95a5d19ff0464def1777adaae5a74e1edc9e6818103064c18fdc2643f6cb" +checksum = "3742275b2b34421e0ce0418ed1f26ddd0145030a6cf7252db75e40a22be9ecf2" dependencies = [ - "crossbeam-channel", - "itertools 0.10.5", + "itertools 0.12.1", "log", - "rustc_version", "serde", "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", "solana-sdk", - "solana-vote-program", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "solana-vote-program" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d8a6486017e71a3714a8e1a635e17209135cc20535ba9808ccf106d80ff6e8b" +checksum = "9cb613a1c15df1e1a67bc748fa9703caeda13321b4205e1036a9b905dcf99484" dependencies = [ "bincode", "log", "num-derive 0.4.2", "num-traits", - "rustc_version", "serde", "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", + "solana-feature-set", "solana-metrics", "solana-program", "solana-program-runtime", "solana-sdk", - "thiserror", + "thiserror 1.0.69", +] + +[[package]] +name = "solana-zk-elgamal-proof-program" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ca4c74a4ed3fb456292142125e19a72b1cb6c5cd29da557bf4d239cac8552c5" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-log-collector", + "solana-program-runtime", + "solana-sdk", + "solana-zk-sdk", +] + +[[package]] +name = "solana-zk-sdk" +version = "2.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b979adbd419c767d504eaaea57d50ab4401b3f4ebf4f5a19dd3e1a92abd814a0" +dependencies = [ + "aes-gcm-siv", + "base64 0.22.1", + "bincode", + "bytemuck", + "bytemuck_derive", + "curve25519-dalek 4.1.3", + "itertools 0.12.1", + "js-sys", + "lazy_static", + "merlin", + "num-derive 0.4.2", + "num-traits", + "rand 0.8.5", + "serde", + "serde_derive", + "serde_json", + "sha3", + "solana-derivation-path", + "solana-program", + "solana-sdk", + "subtle", + "thiserror 1.0.69", + "wasm-bindgen", + "zeroize", ] [[package]] name = "solana-zk-token-proof-program" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1e3dfb2deb449f7eb1dbd0c7e66dd95ec7b1303a5788673f9fbc9b5a5ea59f2" +checksum = "4c29da28a4200646d108aae332cd9fc503a417cab6a1ba2ce22b31d196f00008" dependencies = [ "bytemuck", "num-derive 0.4.2", "num-traits", + "solana-feature-set", + "solana-log-collector", "solana-program-runtime", "solana-sdk", "solana-zk-token-sdk", @@ -5580,49 +6281,51 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.18.17" +version = "2.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "513407f88394e437b4ff5aad892bc5bf51a655ae2401e6e63549734d3695c46f" +checksum = "f71c422b5e52e2bae8d0a5bdf0431c1b8c3d6a15d86745808a6d0339d456bedf" dependencies = [ "aes-gcm-siv", - "base64 0.21.7", + "base64 0.22.1", "bincode", "bytemuck", + "bytemuck_derive", "byteorder", - "curve25519-dalek", - "getrandom 0.1.16", - "itertools 0.10.5", + "curve25519-dalek 4.1.3", + "itertools 0.12.1", "lazy_static", "merlin", "num-derive 0.4.2", "num-traits", - "rand 0.7.3", + "rand 0.8.5", "serde", + "serde_derive", "serde_json", - "sha3 0.9.1", + "sha3", + "solana-curve25519", + "solana-derivation-path", "solana-program", "solana-sdk", "subtle", - "thiserror", + "thiserror 1.0.69", "zeroize", ] [[package]] name = "solana_rbpf" -version = "0.8.0" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d457cc2ba742c120492a64b7fa60e22c575e891f6b55039f4d736568fb112a3" +checksum = "1c1941b5ef0c3ce8f2ac5dd984d0fb1a97423c4ff2a02eec81e3913f02e2ac2b" dependencies = [ "byteorder", - "combine", - "goblin", + "combine 3.8.1", "hash32", "libc", "log", "rand 0.8.5", "rustc-demangle", "scroll", - "thiserror", + "thiserror 1.0.69", "winapi", ] @@ -5639,56 +6342,70 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" [[package]] -name = "spki" -version = "0.5.4" +name = "spinning_top" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d01ac02a6ccf3e07db148d2be087da624fea0221a16152ed01f0496a6b0a27" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" dependencies = [ - "base64ct", - "der", + "lock_api", ] [[package]] name = "spl-associated-token-account" -version = "2.3.0" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "992d9c64c2564cc8f63a4b508bf3ebcdf2254b0429b13cd1d31adb6162432a5f" +checksum = "a2e688554bac5838217ffd1fab7845c573ff106b6336bf7d290db7c98d5a8efd" dependencies = [ "assert_matches", - "borsh 0.10.3", + "borsh 1.5.7", "num-derive 0.4.2", "num-traits", "solana-program", - "spl-token 4.0.0", - "spl-token-2022 1.0.0", - "thiserror", + "spl-token 4.0.2", + "spl-token-2022 3.0.2", + "thiserror 1.0.69", ] [[package]] name = "spl-associated-token-account" -version = "3.0.2" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2e688554bac5838217ffd1fab7845c573ff106b6336bf7d290db7c98d5a8efd" +checksum = "68034596cf4804880d265f834af1ff2f821ad5293e41fa0f8f59086c181fc38e" dependencies = [ "assert_matches", - "borsh 1.5.1", + "borsh 1.5.7", "num-derive 0.4.2", "num-traits", "solana-program", - "spl-token 4.0.0", - "spl-token-2022 3.0.2", - "thiserror", + "spl-token 6.0.0", + "spl-token-2022 4.0.0", + "thiserror 1.0.69", ] [[package]] -name = "spl-discriminator" -version = "0.1.0" +name = "spl-associated-token-account" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce5d563b58ef1bb2cdbbfe0dfb9ffdc24903b10ae6a4df2d8f425ece375033f" +checksum = "76fee7d65013667032d499adc3c895e286197a35a0d3a4643c80e7fd3e9969e3" dependencies = [ - "bytemuck", + "borsh 1.5.7", + "num-derive 0.4.2", + "num-traits", "solana-program", - "spl-discriminator-derive 0.1.2", + "spl-associated-token-account-client", + "spl-token 7.0.0", + "spl-token-2022 6.0.0", + "thiserror 1.0.69", +] + +[[package]] +name = "spl-associated-token-account-client" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6f8349dbcbe575f354f9a533a21f272f3eb3808a49e2fdc1c34393b88ba76cb" +dependencies = [ + "solana-instruction", + "solana-pubkey", ] [[package]] @@ -5699,18 +6416,30 @@ checksum = "34d1814406e98b08c5cd02c1126f83fd407ad084adce0b05fda5730677822eac" dependencies = [ "bytemuck", "solana-program", - "spl-discriminator-derive 0.2.0", + "spl-discriminator-derive", ] [[package]] -name = "spl-discriminator-derive" -version = "0.1.2" +name = "spl-discriminator" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07fd7858fc4ff8fb0e34090e41d7eb06a823e1057945c26d480bfc21d2338a93" +checksum = "a38ea8b6dedb7065887f12d62ed62c1743aa70749e8558f963609793f6fb12bc" dependencies = [ - "quote", - "spl-discriminator-syn 0.1.2", - "syn 2.0.58", + "bytemuck", + "solana-program", + "spl-discriminator-derive", +] + +[[package]] +name = "spl-discriminator" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7398da23554a31660f17718164e31d31900956054f54f52d5ec1be51cb4f4b3" +dependencies = [ + "bytemuck", + "solana-program-error", + "solana-sha256-hasher", + "spl-discriminator-derive", ] [[package]] @@ -5720,56 +6449,66 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" dependencies = [ "quote", - "spl-discriminator-syn 0.2.0", - "syn 2.0.58", + "spl-discriminator-syn", + "syn 2.0.100", ] [[package]] name = "spl-discriminator-syn" -version = "0.1.2" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fea7be851bd98d10721782ea958097c03a0c2a07d8d4997041d0ece6319a63" +checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9" dependencies = [ "proc-macro2", "quote", "sha2 0.10.8", - "syn 2.0.58", - "thiserror", + "syn 2.0.100", + "thiserror 1.0.69", ] [[package]] -name = "spl-discriminator-syn" -version = "0.2.0" +name = "spl-elgamal-registry" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9" +checksum = "ce0f668975d2b0536e8a8fd60e56a05c467f06021dae037f1d0cfed0de2e231d" dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.58", - "thiserror", + "bytemuck", + "solana-program", + "solana-zk-sdk", + "spl-pod 0.5.0", + "spl-token-confidential-transfer-proof-extraction", ] [[package]] name = "spl-memo" -version = "4.0.0" +version = "4.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f180b03318c3dbab3ef4e1e4d46d5211ae3c780940dd0a28695aba4b59a75a" +checksum = "64f13e674ae639249a78e2445fb043cf70e18f60e6dcf87a5411bc8c9580f130" dependencies = [ "solana-program", ] [[package]] -name = "spl-pod" -version = "0.1.0" +name = "spl-memo" +version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2881dddfca792737c0706fa0175345ab282b1b0879c7d877bad129645737c079" +checksum = "a0dba2f2bb6419523405d21c301a32c9f9568354d4742552e7972af801f4bdb3" dependencies = [ - "borsh 0.10.3", - "bytemuck", "solana-program", - "solana-zk-token-sdk", - "spl-program-error 0.3.0", +] + +[[package]] +name = "spl-memo" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f09647c0974e33366efeb83b8e2daebb329f0420149e74d3a4bd2c08cf9f7cb" +dependencies = [ + "solana-account-info", + "solana-instruction", + "solana-msg", + "solana-program-entrypoint", + "solana-program-error", + "solana-pubkey", ] [[package]] @@ -5778,7 +6517,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046ce669f48cf2eca1ec518916d8725596bfb655beb1c74374cf71dc6cb773c9" dependencies = [ - "borsh 1.5.1", + "borsh 1.5.7", "bytemuck", "solana-program", "solana-zk-token-sdk", @@ -5786,16 +6525,37 @@ dependencies = [ ] [[package]] -name = "spl-program-error" -version = "0.3.0" +name = "spl-pod" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c704c88fc457fa649ba3aabe195c79d885c3f26709efaddc453c8de352c90b87" +dependencies = [ + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", + "solana-program", + "solana-zk-token-sdk", + "spl-program-error 0.5.0", +] + +[[package]] +name = "spl-pod" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "249e0318493b6bcf27ae9902600566c689b7dfba9f1bdff5893e92253374e78c" +checksum = "41a7d5950993e1ff2680bd989df298eeb169367fb2f9deeef1f132de6e4e8016" dependencies = [ + "borsh 1.5.7", + "bytemuck", + "bytemuck_derive", "num-derive 0.4.2", "num-traits", - "solana-program", - "spl-program-error-derive 0.3.2", - "thiserror", + "solana-decode-error", + "solana-msg", + "solana-program-error", + "solana-program-option", + "solana-pubkey", + "solana-zk-sdk", + "thiserror 1.0.69", ] [[package]] @@ -5807,20 +6567,34 @@ dependencies = [ "num-derive 0.4.2", "num-traits", "solana-program", - "spl-program-error-derive 0.4.1", - "thiserror", + "spl-program-error-derive", + "thiserror 1.0.69", ] [[package]] -name = "spl-program-error-derive" -version = "0.3.2" +name = "spl-program-error" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1845dfe71fd68f70382232742e758557afe973ae19e6c06807b2c30f5d5cb474" +checksum = "d7b28bed65356558133751cc32b48a7a5ddfc59ac4e941314630bbed1ac10532" dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.58", + "num-derive 0.4.2", + "num-traits", + "solana-program", + "spl-program-error-derive", + "thiserror 1.0.69", +] + +[[package]] +name = "spl-program-error" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d39b5186f42b2b50168029d81e58e800b690877ef0b30580d107659250da1d1" +dependencies = [ + "num-derive 0.4.2", + "num-traits", + "solana-program", + "spl-program-error-derive", + "thiserror 1.0.69", ] [[package]] @@ -5832,162 +6606,215 @@ dependencies = [ "proc-macro2", "quote", "sha2 0.10.8", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] name = "spl-tlv-account-resolution" -version = "0.4.0" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062e148d3eab7b165582757453632ffeef490c02c86a48bfdb4988f63eefb3b9" +checksum = "cace91ba08984a41556efe49cbf2edca4db2f577b649da7827d3621161784bf8" dependencies = [ "bytemuck", "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-type-length-value 0.3.0", + "spl-discriminator 0.2.2", + "spl-pod 0.2.2", + "spl-program-error 0.4.1", + "spl-type-length-value 0.4.3", ] [[package]] name = "spl-tlv-account-resolution" -version = "0.5.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "615d381f48ddd2bb3c57c7f7fb207591a2a05054639b18a62e785117dd7a8683" +checksum = "37a75a5f0fcc58126693ed78a17042e9dc53f07e357d6be91789f7d62aff61a4" dependencies = [ "bytemuck", "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-type-length-value 0.3.0", + "spl-discriminator 0.3.0", + "spl-pod 0.3.1", + "spl-program-error 0.5.0", + "spl-type-length-value 0.5.0", ] [[package]] name = "spl-tlv-account-resolution" -version = "0.6.3" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cace91ba08984a41556efe49cbf2edca4db2f577b649da7827d3621161784bf8" +checksum = "cd99ff1e9ed2ab86e3fd582850d47a739fec1be9f4661cba1782d3a0f26805f3" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-account-info", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-program-error", + "solana-pubkey", + "spl-discriminator 0.4.1", + "spl-pod 0.5.0", + "spl-program-error 0.6.0", + "spl-type-length-value 0.7.0", + "thiserror 1.0.69", +] + +[[package]] +name = "spl-token" +version = "4.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e9e171cbcb4b1f72f6d78ed1e975cb467f56825c27d09b8dd2608e4e7fc8b3b" dependencies = [ + "arrayref", "bytemuck", + "num-derive 0.4.2", + "num-traits", + "num_enum", "solana-program", - "spl-discriminator 0.2.2", - "spl-pod 0.2.2", - "spl-program-error 0.4.1", - "spl-type-length-value 0.4.3", + "thiserror 1.0.69", ] [[package]] name = "spl-token" -version = "3.5.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" +checksum = "70a0f06ac7f23dc0984931b1fe309468f14ea58e32660439c1cef19456f5d0e3" dependencies = [ "arrayref", "bytemuck", - "num-derive 0.3.3", + "num-derive 0.4.2", "num-traits", - "num_enum 0.5.11", + "num_enum", "solana-program", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "spl-token" -version = "4.0.0" +version = "7.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08459ba1b8f7c1020b4582c4edf0f5c7511a5e099a7a97570c9698d4f2337060" +checksum = "ed320a6c934128d4f7e54fe00e16b8aeaecf215799d060ae14f93378da6dc834" dependencies = [ "arrayref", "bytemuck", - "num-derive 0.3.3", + "num-derive 0.4.2", "num-traits", - "num_enum 0.6.1", + "num_enum", "solana-program", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "spl-token-2022" -version = "0.9.0" +version = "3.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4abf34a65ba420584a0c35f3903f8d727d1f13ababbdc3f714c6b065a686e86" +checksum = "e5412f99ae7ee6e0afde00defaa354e6228e47e30c0e3adf553e2e01e6abb584" dependencies = [ "arrayref", "bytemuck", "num-derive 0.4.2", "num-traits", - "num_enum 0.7.2", + "num_enum", "solana-program", + "solana-security-txt", "solana-zk-token-sdk", - "spl-memo", - "spl-pod 0.1.0", - "spl-token 4.0.0", - "spl-token-metadata-interface 0.2.0", - "spl-transfer-hook-interface 0.3.0", - "spl-type-length-value 0.3.0", - "thiserror", + "spl-memo 4.0.3", + "spl-pod 0.2.2", + "spl-token 4.0.2", + "spl-token-group-interface 0.2.3", + "spl-token-metadata-interface 0.3.3", + "spl-transfer-hook-interface 0.6.3", + "spl-type-length-value 0.4.3", + "thiserror 1.0.69", ] [[package]] name = "spl-token-2022" -version = "1.0.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d697fac19fd74ff472dfcc13f0b442dd71403178ce1de7b5d16f83a33561c059" +checksum = "d9c10f3483e48679619c76598d4e4aebb955bc49b0a5cc63323afbf44135c9bf" dependencies = [ "arrayref", "bytemuck", "num-derive 0.4.2", "num-traits", - "num_enum 0.7.2", + "num_enum", "solana-program", "solana-security-txt", "solana-zk-token-sdk", - "spl-memo", - "spl-pod 0.1.0", - "spl-token 4.0.0", - "spl-token-group-interface 0.1.0", - "spl-token-metadata-interface 0.2.0", - "spl-transfer-hook-interface 0.4.1", - "spl-type-length-value 0.3.0", - "thiserror", + "spl-memo 5.0.0", + "spl-pod 0.3.1", + "spl-token 6.0.0", + "spl-token-group-interface 0.3.0", + "spl-token-metadata-interface 0.4.0", + "spl-transfer-hook-interface 0.7.0", + "spl-type-length-value 0.5.0", + "thiserror 1.0.69", ] [[package]] name = "spl-token-2022" -version = "3.0.2" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5412f99ae7ee6e0afde00defaa354e6228e47e30c0e3adf553e2e01e6abb584" +checksum = "5b27f7405010ef816587c944536b0eafbcc35206ab6ba0f2ca79f1d28e488f4f" dependencies = [ "arrayref", "bytemuck", "num-derive 0.4.2", "num-traits", - "num_enum 0.7.2", + "num_enum", "solana-program", "solana-security-txt", - "solana-zk-token-sdk", - "spl-memo", - "spl-pod 0.2.2", - "spl-token 4.0.0", - "spl-token-group-interface 0.2.3", - "spl-token-metadata-interface 0.3.3", - "spl-transfer-hook-interface 0.6.3", - "spl-type-length-value 0.4.3", - "thiserror", + "solana-zk-sdk", + "spl-elgamal-registry", + "spl-memo 6.0.0", + "spl-pod 0.5.0", + "spl-token 7.0.0", + "spl-token-confidential-transfer-ciphertext-arithmetic", + "spl-token-confidential-transfer-proof-extraction", + "spl-token-confidential-transfer-proof-generation", + "spl-token-group-interface 0.5.0", + "spl-token-metadata-interface 0.6.0", + "spl-transfer-hook-interface 0.9.0", + "spl-type-length-value 0.7.0", + "thiserror 1.0.69", +] + +[[package]] +name = "spl-token-confidential-transfer-ciphertext-arithmetic" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170378693c5516090f6d37ae9bad2b9b6125069be68d9acd4865bbe9fc8499fd" +dependencies = [ + "base64 0.22.1", + "bytemuck", + "solana-curve25519", + "solana-zk-sdk", +] + +[[package]] +name = "spl-token-confidential-transfer-proof-extraction" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eff2d6a445a147c9d6dd77b8301b1e116c8299601794b558eafa409b342faf96" +dependencies = [ + "bytemuck", + "solana-curve25519", + "solana-program", + "solana-zk-sdk", + "spl-pod 0.5.0", + "thiserror 2.0.12", ] [[package]] -name = "spl-token-group-interface" -version = "0.1.0" +name = "spl-token-confidential-transfer-proof-generation" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b889509d49fa74a4a033ca5dae6c2307e9e918122d97e58562f5c4ffa795c75d" +checksum = "8627184782eec1894de8ea26129c61303f1f0adeed65c20e0b10bc584f09356d" dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", + "curve25519-dalek 4.1.3", + "solana-zk-sdk", + "thiserror 1.0.69", ] [[package]] @@ -6004,17 +6831,35 @@ dependencies = [ ] [[package]] -name = "spl-token-metadata-interface" -version = "0.2.0" +name = "spl-token-group-interface" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c16ce3ba6979645fb7627aa1e435576172dd63088dc7848cb09aa331fa1fe4f" +checksum = "df8752b85a5ecc1d9f3a43bce3dd9a6a053673aacf5deb513d1cbb88d3534ffd" dependencies = [ - "borsh 0.10.3", + "bytemuck", "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-type-length-value 0.3.0", + "spl-discriminator 0.3.0", + "spl-pod 0.3.1", + "spl-program-error 0.5.0", +] + +[[package]] +name = "spl-token-group-interface" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d595667ed72dbfed8c251708f406d7c2814a3fa6879893b323d56a10bedfc799" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-program-error", + "solana-pubkey", + "spl-discriminator 0.4.1", + "spl-pod 0.5.0", + "thiserror 1.0.69", ] [[package]] @@ -6023,7 +6868,7 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "30179c47e93625680dabb620c6e7931bd12d62af390f447bc7beb4a3a9b5feee" dependencies = [ - "borsh 1.5.1", + "borsh 1.5.7", "solana-program", "spl-discriminator 0.2.2", "spl-pod 0.2.2", @@ -6032,35 +6877,38 @@ dependencies = [ ] [[package]] -name = "spl-transfer-hook-interface" -version = "0.3.0" +name = "spl-token-metadata-interface" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051d31803f873cabe71aec3c1b849f35248beae5d19a347d93a5c9cccc5d5a9b" +checksum = "c6c2318ddff97e006ed9b1291ebec0750a78547f870f62a69c56fe3b46a5d8fc" dependencies = [ - "arrayref", - "bytemuck", + "borsh 1.5.7", "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-tlv-account-resolution 0.4.0", - "spl-type-length-value 0.3.0", + "spl-discriminator 0.3.0", + "spl-pod 0.3.1", + "spl-program-error 0.5.0", + "spl-type-length-value 0.5.0", ] [[package]] -name = "spl-transfer-hook-interface" -version = "0.4.1" +name = "spl-token-metadata-interface" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7aabdb7c471566f6ddcee724beb8618449ea24b399e58d464d6b5bc7db550259" +checksum = "dfb9c89dbc877abd735f05547dcf9e6e12c00c11d6d74d8817506cab4c99fdbb" dependencies = [ - "arrayref", - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-tlv-account-resolution 0.5.1", - "spl-type-length-value 0.3.0", + "borsh 1.5.7", + "num-derive 0.4.2", + "num-traits", + "solana-borsh", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-program-error", + "solana-pubkey", + "spl-discriminator 0.4.1", + "spl-pod 0.5.0", + "spl-type-length-value 0.7.0", + "thiserror 1.0.69", ] [[package]] @@ -6080,16 +6928,44 @@ dependencies = [ ] [[package]] -name = "spl-type-length-value" -version = "0.3.0" +name = "spl-transfer-hook-interface" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a468e6f6371f9c69aae760186ea9f1a01c2908351b06a5e0026d21cfc4d7ecac" +checksum = "a110f33d941275d9f868b96daaa993f1e73b6806cc8836e43075b4d3ad8338a7" dependencies = [ + "arrayref", "bytemuck", "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", + "spl-discriminator 0.3.0", + "spl-pod 0.3.1", + "spl-program-error 0.5.0", + "spl-tlv-account-resolution 0.7.0", + "spl-type-length-value 0.5.0", +] + +[[package]] +name = "spl-transfer-hook-interface" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4aa7503d52107c33c88e845e1351565050362c2314036ddf19a36cd25137c043" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-account-info", + "solana-cpi", + "solana-decode-error", + "solana-instruction", + "solana-msg", + "solana-program-error", + "solana-pubkey", + "spl-discriminator 0.4.1", + "spl-pod 0.5.0", + "spl-program-error 0.6.0", + "spl-tlv-account-resolution 0.9.0", + "spl-type-length-value 0.7.0", + "thiserror 1.0.69", ] [[package]] @@ -6106,22 +6982,41 @@ dependencies = [ ] [[package]] -name = "static_assertions" -version = "1.1.0" +name = "spl-type-length-value" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +checksum = "bdcd73ec187bc409464c60759232e309f83b52a18a9c5610bf281c9c6432918c" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator 0.3.0", + "spl-pod 0.3.1", + "spl-program-error 0.5.0", +] [[package]] -name = "strsim" -version = "0.8.0" +name = "spl-type-length-value" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" +checksum = "ba70ef09b13af616a4c987797870122863cba03acc4284f226a4473b043923f9" +dependencies = [ + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "solana-account-info", + "solana-decode-error", + "solana-msg", + "solana-program-error", + "spl-discriminator 0.4.1", + "spl-pod 0.5.0", + "thiserror 1.0.69", +] [[package]] -name = "strsim" -version = "0.10.0" +name = "static_assertions" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" [[package]] name = "strsim" @@ -6170,20 +7065,14 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] name = "subtle" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" - -[[package]] -name = "superslice" -version = "1.0.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "sval" @@ -6275,14 +7164,14 @@ dependencies = [ "serde", "serde_json", "sha2 0.10.8", - "sha3 0.10.8", + "sha3", ] [[package]] name = "switchboard-on-demand" -version = "0.1.14" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3852951c42f8876a443060b6882bda945f1621224236ead37959e80f5369cf81" +checksum = "2ee00734181d7fdb6a5c9c72374d5257ba3991185db7dd6c5512f500faf70527" dependencies = [ "arc-swap", "async-trait", @@ -6294,36 +7183,14 @@ dependencies = [ "lazy_static", "libsecp256k1 0.7.1", "log", - "num 0.4.3", + "once_cell", "rust_decimal", "serde", - "serde_json", "sha2 0.10.8", "solana-address-lookup-table-program", "solana-program", - "spl-associated-token-account 2.3.0", - "spl-token 3.5.0", - "switchboard-common", -] - -[[package]] -name = "switchboard-solana" -version = "0.29.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bb0cb2cd26bcd72a11fae679d07207bca093c303c9cc72bcdc7866bb7bf8a6b" -dependencies = [ - "anchor-lang 0.29.0", - "anchor-spl 0.29.0", - "bytemuck", - "hex", - "kv-log-macro", - "lazy_static", - "libsecp256k1 0.7.1", - "log", - "rust_decimal", - "solana-address-lookup-table-program", - "solana-program", - "superslice", + "spl-associated-token-account 3.0.2", + "spl-token 7.0.0", "switchboard-common", ] @@ -6346,27 +7213,15 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.58" +version = "2.0.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44cfb93f38070beee36b3fef7d4f5a16f27751d94b187b666a5cc5e9b0d30687" +checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] -[[package]] -name = "syn_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" -dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.58", -] - [[package]] name = "sync_wrapper" version = "0.1.2" @@ -6392,7 +7247,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", - "core-foundation", + "core-foundation 0.9.4", "system-configuration-sys", ] @@ -6414,9 +7269,9 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tar" -version = "0.4.41" +version = "0.4.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb797dad5fb5b76fcf519e702f4a589483b5ef06567f160c392832c1f5e44909" +checksum = "1d863878d212c87a19c1a610eb53bb01fe12951c0501cf5a0d65f724914a667a" dependencies = [ "filetime", "libc", @@ -6439,7 +7294,7 @@ dependencies = [ "serde", "static_assertions", "tarpc-plugins", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-serde", "tokio-util 0.6.10", @@ -6458,15 +7313,25 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "task-local-extensions" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba323866e5d033818e3240feeb9f7db2c4296674e4d9e16b97b7bf8f490434e8" +dependencies = [ + "pin-utils", +] + [[package]] name = "tempfile" -version = "3.10.1" +version = "3.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "7437ac7763b9b123ccf33c338a5cc1bac6f69b45a136c19bdd8a65e3916435bf" dependencies = [ - "cfg-if", "fastrand", - "rustix", + "getrandom 0.3.2", + "once_cell", + "rustix 1.0.5", "windows-sys 0.52.0", ] @@ -6486,71 +7351,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] -name = "test-case" -version = "3.3.1" +name = "thiserror" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "test-case-macros", + "thiserror-impl 1.0.69", ] [[package]] -name = "test-case-core" -version = "3.3.1" +name = "thiserror" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f" +checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn 2.0.58", + "thiserror-impl 2.0.12", ] [[package]] -name = "test-case-macros" -version = "3.3.1" +name = "thiserror-impl" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", - "test-case-core", -] - -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - -[[package]] -name = "textwrap" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" - -[[package]] -name = "thiserror" -version = "1.0.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" -dependencies = [ - "thiserror-impl", + "syn 2.0.100", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "2.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -6604,25 +7441,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-bip39" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" -dependencies = [ - "anyhow", - "hmac 0.8.1", - "once_cell", - "pbkdf2 0.4.0", - "rand 0.7.3", - "rustc-hash", - "sha2 0.9.9", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tinyvec" version = "1.8.0" @@ -6640,32 +7458,31 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.44.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" dependencies = [ "backtrace", "bytes", "libc", "mio", - "num_cpus", "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -6674,7 +7491,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls", + "rustls 0.21.12", "tokio", ] @@ -6696,9 +7513,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "eca58d7bba4a75707817a2c44174253f9236b2d5fbd055602e9d5c07c139a047" dependencies = [ "futures-core", "pin-project-lite", @@ -6713,7 +7530,7 @@ checksum = "212d5dcb2a1ce06d81107c3d0ffa3121fe974b73f068c8282cb1c32328113b6c" dependencies = [ "futures-util", "log", - "rustls", + "rustls 0.21.12", "tokio", "tokio-rustls", "tungstenite", @@ -6763,24 +7580,13 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap 2.2.6", - "toml_datetime", - "winnow", -] - [[package]] name = "toml_edit" version = "0.21.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" dependencies = [ - "indexmap 2.2.6", + "indexmap", "toml_datetime", "winnow", ] @@ -6811,7 +7617,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] @@ -6867,9 +7673,9 @@ dependencies = [ "httparse", "log", "rand 0.8.5", - "rustls", + "rustls 0.21.12", "sha1", - "thiserror", + "thiserror 1.0.69", "url", "utf-8", "webpki-roots 0.24.0", @@ -6917,6 +7723,12 @@ version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-bidi" version = "0.3.15" @@ -6958,11 +7770,11 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" [[package]] name = "universal-hash" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" dependencies = [ - "generic-array", + "crypto-common", "subtle", ] @@ -7078,10 +7890,10 @@ dependencies = [ ] [[package]] -name = "vec_map" -version = "0.8.2" +name = "vcpkg" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" @@ -7126,28 +7938,38 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", + "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", "wasm-bindgen-shared", ] @@ -7165,9 +7987,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7175,22 +7997,25 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] [[package]] name = "web-sys" @@ -7202,13 +8027,32 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki-root-certs" +version = "0.26.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09aed61f5e8d2c18344b3faa33a4c837855fe56642757754775548fee21386c4" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webpki-roots" version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b291546d5d9d1eab74f069c77749f2cb8504a12caa20f0f2de93ddbf6f411888" dependencies = [ - "rustls-webpki", + "rustls-webpki 0.101.7", ] [[package]] @@ -7257,6 +8101,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + [[package]] name = "windows-sys" version = "0.48.0" @@ -7275,6 +8128,21 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + [[package]] name = "windows-targets" version = "0.48.5" @@ -7306,6 +8174,12 @@ dependencies = [ "windows_x86_64_msvc 0.52.6", ] +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + [[package]] name = "windows_aarch64_gnullvm" version = "0.48.5" @@ -7318,6 +8192,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -7330,6 +8210,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -7348,6 +8234,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -7360,6 +8252,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -7372,6 +8270,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + [[package]] name = "windows_x86_64_gnullvm" version = "0.48.5" @@ -7384,6 +8288,12 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -7415,6 +8325,15 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "wyz" version = "0.5.1" @@ -7438,7 +8357,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror", + "thiserror 1.0.69", "time", ] @@ -7449,17 +8368,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", - "linux-raw-sys", - "rustix", -] - -[[package]] -name = "yasna" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" -dependencies = [ - "time", + "linux-raw-sys 0.4.14", + "rustix 0.38.34", ] [[package]] @@ -7479,14 +8389,14 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] name = "zeroize" -version = "1.3.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4756f7db3f7b5574938c3eb1c117038b8e07f95ee6718c0efad4ac21508f1efd" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -7499,33 +8409,32 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.58", + "syn 2.0.100", ] [[package]] name = "zstd" -version = "0.11.2+zstd.1.5.2" +version = "0.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" +checksum = "e91ee311a569c327171651566e07972200e76fcfe2242a4fa446149a3881c08a" dependencies = [ "zstd-safe", ] [[package]] name = "zstd-safe" -version = "5.0.2+zstd.1.5.2" +version = "7.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" +checksum = "8f49c4d5f0abb602a93fb8736af2a4f4dd9512e36f7f570d66e65ff867ed3b9d" dependencies = [ - "libc", "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" +version = "2.0.15+zstd.1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" +checksum = "eb81183ddd97d0c74cedf1d50d85c8d08c1b8b68ee863bdee9e706eedba1a237" dependencies = [ "cc", "pkg-config", diff --git a/programs/marginfi/fuzz/Cargo.toml b/programs/marginfi/fuzz/Cargo.toml index 7a2d82569..030aa650f 100644 --- a/programs/marginfi/fuzz/Cargo.toml +++ b/programs/marginfi/fuzz/Cargo.toml @@ -14,15 +14,15 @@ test = false doc = false [dependencies] -solana-sdk = "=1.18.17" -solana-program = "=1.18.17" -solana-program-test = "=1.18.17" -spl-token = "4.0.0" +solana-sdk = "=2.1.20" +solana-program = "=2.1.20" +solana-program-test = "=2.1.20" +spl-token = "7.0.0" -anchor-lang = { git = "https://github.com/mrgnlabs/anchor.git", rev = "fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" } -anchor-spl = { git = "https://github.com/mrgnlabs/anchor.git", rev = "fdcf299dc55ecf7cfa8c4d598aecb1363b99c02d" } +anchor-lang = { version = "0.31.1" } +anchor-spl = { version = "0.31.1", features = ["token_2022"] } -pyth-sdk-solana = "=0.10.1" +pyth-sdk-solana = "=0.10.4" anyhow = "1.0.68" arbitrary = { version = "1.2.2", features = ["derive"] } @@ -30,8 +30,8 @@ bumpalo = "=3.11.1" libfuzzer-sys = "0.4" safe-transmute = "0.11.2" rand = "0.8.5" -bytemuck = "1.12.3" -fixed = "1.21.0" +bytemuck = "1.22.0" +fixed = "=1.28.0" fixed-macro = "1.2.0" lazy_static = "1.4.0" log = { version = "0.4.17", optional = true } diff --git a/programs/marginfi/fuzz/src/account_state.rs b/programs/marginfi/fuzz/src/account_state.rs index f28a6424e..bb99caca0 100644 --- a/programs/marginfi/fuzz/src/account_state.rs +++ b/programs/marginfi/fuzz/src/account_state.rs @@ -20,7 +20,7 @@ use marginfi::{ use pyth_sdk_solana::state::{ AccountType, PriceInfo, PriceStatus, Rational, SolanaPriceAccount, MAGIC, VERSION_2, }; -use safe_transmute::{transmute_to_bytes, transmute_to_bytes_mut}; +use safe_transmute::transmute_to_bytes_mut; use solana_program::{ bpf_loader, program_pack::Pack, stake_history::Epoch, system_program, sysvar, }; @@ -38,8 +38,7 @@ impl AccountsState { fn random_pubkey<'bump>(&'bump self) -> &Pubkey { #[allow(deprecated)] - self.bump - .alloc(Pubkey::new(transmute_to_bytes(&rand::random::<[u64; 4]>()))) + self.bump.alloc(Pubkey::new_unique()) } pub fn new_sol_account<'bump>( @@ -125,7 +124,7 @@ impl AccountsState { true, self.bump.alloc(rent.minimum_balance(data.len())), data, - &spl_token_2022::ID, + &anchor_spl::token_2022::ID, false, Epoch::default(), ) @@ -180,7 +179,7 @@ impl AccountsState { true, self.bump.alloc(rent.minimum_balance(data.len())), data, - &spl_token_2022::ID, + &anchor_spl::token_2022::ID, false, Epoch::default(), ) diff --git a/programs/marginfi/fuzz/src/lib.rs b/programs/marginfi/fuzz/src/lib.rs index 01ab89ccd..fe22c81b8 100644 --- a/programs/marginfi/fuzz/src/lib.rs +++ b/programs/marginfi/fuzz/src/lib.rs @@ -12,7 +12,6 @@ use anchor_lang::{ prelude::{AccountInfo, AccountLoader, Context, Program, Pubkey, Rent, Signer, Sysvar}, Discriminator, Key, }; -use anchor_spl::token_2022::spl_token_2022; use arbitrary_helpers::{ AccountIdx, AssetAmount, BankAndOracleConfig, BankIdx, PriceChange, TokenType, }; @@ -238,7 +237,7 @@ impl<'state> MarginfiFuzzContext<'state> { let token_program = match initial_bank_config.token_type { TokenType::Tokenkeg => state.new_program(spl_token::id()), TokenType::Token22 | TokenType::Token22WithFee { .. } => { - state.new_program(spl_token_2022::id()) + state.new_program(anchor_spl::token_2022::ID) } }; @@ -406,7 +405,7 @@ impl<'state> MarginfiFuzzContext<'state> { ]); let mut remaining_accounts: Vec = vec![]; - if bank.token_program.key() == spl_token_2022::ID { + if bank.token_program.key() == anchor_spl::token_2022::ID { remaining_accounts.push(ails(bank.mint.clone())); } @@ -480,7 +479,7 @@ impl<'state> MarginfiFuzzContext<'state> { ]); let mut remaining_accounts = vec![]; - if bank.token_program.key() == spl_token_2022::ID { + if bank.token_program.key() == anchor_spl::token_2022::ID { remaining_accounts.push(ails(bank.mint.clone())); } @@ -573,7 +572,7 @@ impl<'state> MarginfiFuzzContext<'state> { }; let mut remaining_accounts = vec![]; - if bank.token_program.key() == spl_token_2022::ID { + if bank.token_program.key() == anchor_spl::token_2022::ID { remaining_accounts.push(ails(bank.mint.clone())); } remaining_accounts.extend(marginfi_account.get_remaining_accounts( @@ -658,7 +657,7 @@ impl<'state> MarginfiFuzzContext<'state> { sort_balances(airls(&marginfi_account.margin_account)); let mut remaining_accounts = vec![]; - if bank.token_program.key() == spl_token_2022::ID { + if bank.token_program.key() == anchor_spl::token_2022::ID { remaining_accounts.push(ails(bank.mint.clone())); } remaining_accounts.extend(marginfi_account.get_remaining_accounts( @@ -777,7 +776,7 @@ impl<'state> MarginfiFuzzContext<'state> { ]); let mut remaining_accounts = vec![]; - if liab_bank.token_program.key() == spl_token_2022::ID { + if liab_bank.token_program.key() == anchor_spl::token_2022::ID { remaining_accounts.push(ails(liab_bank.mint.clone())); } remaining_accounts.extend(vec![asset_bank.oracle.clone(), liab_bank.oracle.clone()]); @@ -880,7 +879,7 @@ impl<'state> MarginfiFuzzContext<'state> { ]); let mut remaining_accounts = vec![]; - if bank.token_program.key() == spl_token_2022::ID { + if bank.token_program.key() == anchor_spl::token_2022::ID { remaining_accounts.push(ails(bank.mint.clone())); } remaining_accounts.extend(marginfi_account.get_remaining_accounts( diff --git a/programs/marginfi/fuzz/src/stubs.rs b/programs/marginfi/fuzz/src/stubs.rs index fb79e1a93..6f76d8f52 100644 --- a/programs/marginfi/fuzz/src/stubs.rs +++ b/programs/marginfi/fuzz/src/stubs.rs @@ -74,7 +74,7 @@ impl program_stubs::SyscallStubs for TestSyscallStubs { &new_account_infos, &instruction.data, ) - } else if instruction.program_id == spl_token_2022::ID { + } else if instruction.program_id == anchor_spl::token_2022::ID { spl_token_2022::processor::Processor::process( &instruction.program_id, &new_account_infos, diff --git a/programs/marginfi/src/constants.rs b/programs/marginfi/src/constants.rs index 59b563c86..483029586 100644 --- a/programs/marginfi/src/constants.rs +++ b/programs/marginfi/src/constants.rs @@ -1,8 +1,8 @@ use anchor_lang::prelude::*; +use anchor_lang::solana_program::pubkey; use fixed::types::I80F48; use fixed_macro::types::I80F48; use pyth_solana_receiver_sdk::price_update::VerificationLevel; -use solana_program::pubkey; pub const LIQUIDITY_VAULT_AUTHORITY_SEED: &str = "liquidity_vault_auth"; pub const INSURANCE_VAULT_AUTHORITY_SEED: &str = "insurance_vault_auth"; diff --git a/programs/marginfi/src/instructions/marginfi_account/borrow.rs b/programs/marginfi/src/instructions/marginfi_account/borrow.rs index da43c6607..a1fc5521b 100644 --- a/programs/marginfi/src/instructions/marginfi_account/borrow.rs +++ b/programs/marginfi/src/instructions/marginfi_account/borrow.rs @@ -12,10 +12,10 @@ use crate::{ utils::{self, validate_asset_tags}, }; use anchor_lang::prelude::*; +use anchor_lang::solana_program::{clock::Clock, sysvar::Sysvar}; use anchor_spl::token_interface::{TokenAccount, TokenInterface}; use bytemuck::Zeroable; use fixed::types::I80F48; -use solana_program::{clock::Clock, sysvar::Sysvar}; /// 1. Accrue interest /// 2. Create the user's bank account for the asset borrowed if it does not exist yet diff --git a/programs/marginfi/src/instructions/marginfi_account/deposit.rs b/programs/marginfi/src/instructions/marginfi_account/deposit.rs index 7b1b86aab..5e8f17069 100644 --- a/programs/marginfi/src/instructions/marginfi_account/deposit.rs +++ b/programs/marginfi/src/instructions/marginfi_account/deposit.rs @@ -10,10 +10,10 @@ use crate::{ utils::{self, validate_asset_tags}, }; use anchor_lang::prelude::*; +use anchor_lang::solana_program::clock::Clock; +use anchor_lang::solana_program::sysvar::Sysvar; use anchor_spl::token_interface::{TokenAccount, TokenInterface}; use fixed::types::I80F48; -use solana_program::clock::Clock; -use solana_program::sysvar::Sysvar; /// 1. Accrue interest /// 2. Create the user's bank account for the asset deposited if it does not exist yet diff --git a/programs/marginfi/src/instructions/marginfi_account/flashloan.rs b/programs/marginfi/src/instructions/marginfi_account/flashloan.rs index bdc507fd7..0a3080c1a 100644 --- a/programs/marginfi/src/instructions/marginfi_account/flashloan.rs +++ b/programs/marginfi/src/instructions/marginfi_account/flashloan.rs @@ -5,8 +5,8 @@ use crate::{ MarginfiAccount, RiskEngine, ACCOUNT_DISABLED, ACCOUNT_IN_FLASHLOAN, }, }; -use anchor_lang::{prelude::*, Discriminator}; -use solana_program::{ +use anchor_lang::prelude::*; +use anchor_lang::solana_program::{ instruction::{get_stack_height, TRANSACTION_LEVEL_STACK_HEIGHT}, sysvar::{self, instructions}, }; @@ -81,11 +81,13 @@ pub fn check_flashloan_can_start( // Will error if ix doesn't exist let unchecked_end_fl_ix = instructions::load_instruction_at_checked(end_fl_idx, sysvar_ixs)?; - check!( - unchecked_end_fl_ix.data[..8] - .eq(&crate::instruction::LendingAccountEndFlashloan::DISCRIMINATOR), - MarginfiError::IllegalFlashloan - ); + let discrim = &unchecked_end_fl_ix.data[..8]; + // TODO figure out anchor's fancy new discrim syntax to avoid hard coding this. + const FLASHLOAN_DISCRIM: [u8; 8] = [105, 124, 201, 106, 153, 2, 8, 156]; + if discrim != FLASHLOAN_DISCRIM { + msg!("discrim: {:?}, expected: {:?}", discrim, FLASHLOAN_DISCRIM); + return err!(MarginfiError::IllegalFlashloan); + } check!( unchecked_end_fl_ix.program_id.eq(&crate::id()), diff --git a/programs/marginfi/src/instructions/marginfi_account/initialize.rs b/programs/marginfi/src/instructions/marginfi_account/initialize.rs index 4cabeb862..645c36f52 100644 --- a/programs/marginfi/src/instructions/marginfi_account/initialize.rs +++ b/programs/marginfi/src/instructions/marginfi_account/initialize.rs @@ -4,7 +4,7 @@ use crate::{ state::marginfi_account::MarginfiAccount, }; use anchor_lang::prelude::*; -use solana_program::sysvar::Sysvar; +use anchor_lang::solana_program::sysvar::Sysvar; pub fn initialize_account(ctx: Context) -> MarginfiResult { let MarginfiAccountInitialize { diff --git a/programs/marginfi/src/instructions/marginfi_account/liquidate.rs b/programs/marginfi/src/instructions/marginfi_account/liquidate.rs index 4838e2784..21cd27eba 100644 --- a/programs/marginfi/src/instructions/marginfi_account/liquidate.rs +++ b/programs/marginfi/src/instructions/marginfi_account/liquidate.rs @@ -15,10 +15,10 @@ use crate::{ }; use crate::{check, debug, prelude::*, utils}; use anchor_lang::prelude::*; +use anchor_lang::solana_program::clock::Clock; +use anchor_lang::solana_program::sysvar::Sysvar; use anchor_spl::token_interface::{TokenAccount, TokenInterface}; use fixed::types::I80F48; -use solana_program::clock::Clock; -use solana_program::sysvar::Sysvar; /// Instruction liquidates a position owned by a margin account that is in a unhealthy state. /// The liquidator can purchase discounted collateral from the unhealthy account, in exchange for paying its debt. diff --git a/programs/marginfi/src/instructions/marginfi_account/pulse_health.rs b/programs/marginfi/src/instructions/marginfi_account/pulse_health.rs index 72244115c..ccbe9bd83 100644 --- a/programs/marginfi/src/instructions/marginfi_account/pulse_health.rs +++ b/programs/marginfi/src/instructions/marginfi_account/pulse_health.rs @@ -1,7 +1,7 @@ use anchor_lang::prelude::*; +use anchor_lang::solana_program::{clock::Clock, sysvar::Sysvar}; use bytemuck::Zeroable; use fixed::types::I80F48; -use solana_program::{clock::Clock, sysvar::Sysvar}; use crate::{ constants::PROGRAM_VERSION, diff --git a/programs/marginfi/src/instructions/marginfi_account/repay.rs b/programs/marginfi/src/instructions/marginfi_account/repay.rs index 32f3687a8..421e1f3eb 100644 --- a/programs/marginfi/src/instructions/marginfi_account/repay.rs +++ b/programs/marginfi/src/instructions/marginfi_account/repay.rs @@ -9,9 +9,9 @@ use crate::{ utils, }; use anchor_lang::prelude::*; +use anchor_lang::solana_program::{clock::Clock, sysvar::Sysvar}; use anchor_spl::token_interface::{TokenAccount, TokenInterface}; use fixed::types::I80F48; -use solana_program::{clock::Clock, sysvar::Sysvar}; /// 1. Accrue interest /// 2. Find the user's existing bank account for the asset repaid diff --git a/programs/marginfi/src/instructions/marginfi_account/withdraw.rs b/programs/marginfi/src/instructions/marginfi_account/withdraw.rs index aa2e69ab6..decdce5bd 100644 --- a/programs/marginfi/src/instructions/marginfi_account/withdraw.rs +++ b/programs/marginfi/src/instructions/marginfi_account/withdraw.rs @@ -11,10 +11,10 @@ use crate::{ utils, }; use anchor_lang::prelude::*; +use anchor_lang::solana_program::{clock::Clock, sysvar::Sysvar}; use anchor_spl::token_interface::{TokenAccount, TokenInterface}; use bytemuck::Zeroable; use fixed::types::I80F48; -use solana_program::{clock::Clock, sysvar::Sysvar}; /// 1. Accrue interest /// 2. Find the user's existing bank account for the asset withdrawn diff --git a/programs/marginfi/src/state/marginfi_account.rs b/programs/marginfi/src/state/marginfi_account.rs index d6c89ebee..39d7e42dc 100644 --- a/programs/marginfi/src/state/marginfi_account.rs +++ b/programs/marginfi/src/state/marginfi_account.rs @@ -300,7 +300,7 @@ impl<'info> BankAccountWithPriceFeed<'_> { requirement_type: RequirementType, bank: &Bank, emode_config: &EmodeConfig, - ) -> MarginfiResult<(I80F48, I80F48, u32)> { + ) -> MarginfiResult<(I80F48, I80F48)> { match bank.config.risk_tier { RiskTier::Collateral => { let (price_feed, err_code) = self.try_get_price_feed(); diff --git a/programs/marginfi/src/state/marginfi_group.rs b/programs/marginfi/src/state/marginfi_group.rs index 354576d41..d524c0844 100644 --- a/programs/marginfi/src/state/marginfi_group.rs +++ b/programs/marginfi/src/state/marginfi_group.rs @@ -787,7 +787,7 @@ impl Bank { #[cfg(not(feature = "client"))] bank: Pubkey, ) -> MarginfiResult<()> { #[cfg(all(not(feature = "client"), feature = "debug"))] - solana_program::log::sol_log_compute_units(); + anchor_lang::solana_program::log::sol_log_compute_units(); let time_delta: u64 = (current_timestamp - self.last_update).try_into().unwrap(); if time_delta == 0 { @@ -871,7 +871,7 @@ impl Bank { #[cfg(not(feature = "client"))] { #[cfg(feature = "debug")] - solana_program::log::sol_log_compute_units(); + anchor_lang::solana_program::log::sol_log_compute_units(); emit!(LendingPoolBankAccrueInterestEvent { header: GroupEventHeader { diff --git a/programs/marginfi/src/state/price.rs b/programs/marginfi/src/state/price.rs index 99d3450a1..ee5255551 100644 --- a/programs/marginfi/src/state/price.rs +++ b/programs/marginfi/src/state/price.rs @@ -1,4 +1,16 @@ +use super::marginfi_group::BankConfig; +use crate::{ + check, check_eq, + constants::{ + CONF_INTERVAL_MULTIPLE, EXP_10_I80F48, MAX_CONF_INTERVAL, MIN_PYTH_PUSH_VERIFICATION_LEVEL, + NATIVE_STAKE_ID, PYTH_ID, SPL_SINGLE_POOL_ID, STD_DEV_MULTIPLE, SWITCHBOARD_PULL_ID, + }, + debug, live, math_error, + prelude::*, +}; +use anchor_lang::prelude::borsh; use anchor_lang::prelude::*; +use anchor_lang::solana_program::{borsh1::try_from_slice_unchecked, stake::state::StakeStateV2}; use anchor_spl::token::Mint; use bytemuck::{Pod, Zeroable}; use enum_dispatch::enum_dispatch; @@ -6,28 +18,12 @@ use fixed::types::I80F48; pub use pyth_sdk_solana; use pyth_sdk_solana::{state::SolanaPriceAccount, Price, PriceFeed}; use pyth_solana_receiver_sdk::price_update::{self, FeedId, PriceUpdateV2}; -use solana_program::{borsh1::try_from_slice_unchecked, stake::state::StakeStateV2}; +use pyth_solana_receiver_sdk::PYTH_PUSH_ORACLE_ID; use std::{cell::Ref, cmp::min}; -use switchboard_on_demand::{CurrentResult, PullFeedAccountData, SPL_TOKEN_PROGRAM_ID}; -use switchboard_solana::{ - AggregatorAccountData, AggregatorResolutionMode, SwitchboardDecimal, SWITCHBOARD_PROGRAM_ID, +use switchboard_on_demand::{ + CurrentResult, Discriminator, PullFeedAccountData, SPL_TOKEN_PROGRAM_ID, }; -use crate::{ - check, check_eq, - constants::{ - CONF_INTERVAL_MULTIPLE, EXP_10, EXP_10_I80F48, MAX_CONF_INTERVAL, - MIN_PYTH_PUSH_VERIFICATION_LEVEL, NATIVE_STAKE_ID, PYTH_ID, SPL_SINGLE_POOL_ID, - STD_DEV_MULTIPLE, SWITCHBOARD_PULL_ID, - }, - debug, live, math_error, - prelude::*, -}; - -use super::marginfi_group::BankConfig; -use anchor_lang::prelude::borsh; -use pyth_solana_receiver_sdk::PYTH_PUSH_ORACLE_ID; - #[repr(u8)] #[derive(Copy, Clone, Debug, AnchorSerialize, AnchorDeserialize, PartialEq, Eq)] pub enum OracleSetup { @@ -88,6 +84,22 @@ pub enum OraclePriceFeedAdapter { SwitchboardPull(SwitchboardPullPriceFeed), } +#[cfg_attr(feature = "client", derive(Clone, Debug))] +pub struct SwitchboardV2PriceFeed { + _ema_price: Box, + _price: Box, +} + +impl PriceAdapter for SwitchboardV2PriceFeed { + fn get_price_of_type( + &self, + _price_type: OraclePriceType, + _bias: Option, + ) -> MarginfiResult { + panic!("swb v2 is deprecated"); + } +} + impl OraclePriceFeedAdapter { pub fn try_from_bank_config<'info>( bank_config: &BankConfig, @@ -128,19 +140,7 @@ impl OraclePriceFeedAdapter { )) } OracleSetup::SwitchboardV2 => { - check!(ais.len() == 1, MarginfiError::WrongNumberOfOracleAccounts); - if ais[0].key != &bank_config.oracle_keys[0] { - msg!( - "Expected oracle key: {:?}, got: {:?}", - bank_config.oracle_keys[0], - ais[0].key - ); - return Err(error!(MarginfiError::WrongOracleAccountKeys)); - } - - Ok(OraclePriceFeedAdapter::SwitchboardV2( - SwitchboardV2PriceFeed::load_checked(&ais[0], clock.unix_timestamp, max_age)?, - )) + panic!("swb v2 is deprecated"); } OracleSetup::PythPushOracle => { check!(ais.len() == 1, MarginfiError::WrongNumberOfOracleAccounts); @@ -331,22 +331,7 @@ impl OraclePriceFeedAdapter { Ok(()) } OracleSetup::SwitchboardV2 => { - check!( - oracle_ais.len() == 1, - MarginfiError::WrongNumberOfOracleAccounts - ); - if oracle_ais[0].key != &bank_config.oracle_keys[0] { - msg!( - "Expected oracle key: {:?}, got: {:?}", - bank_config.oracle_keys[0], - oracle_ais[0].key - ); - return Err(error!(MarginfiError::WrongOracleAccountKeys)); - } - - SwitchboardV2PriceFeed::check_ais(&oracle_ais[0])?; - - Ok(()) + panic!("swb v2 is deprecated"); } OracleSetup::PythPushOracle => { check!( @@ -591,14 +576,18 @@ impl SwitchboardPullPriceFeed { max_age: u64, ) -> MarginfiResult { let ai_data = ai.data.borrow(); + let _vec = ai_data.to_vec(); check!( ai.owner.eq(&SWITCHBOARD_PULL_ID), MarginfiError::SwitchboardWrongAccountOwner ); - let feed = PullFeedAccountData::parse(ai_data) - .map_err(|_| MarginfiError::SwitchboardInvalidAccount)?; + let feed = parse_swb_ignore_alignment(ai_data)?; + let lite_feed = Box::new(LitePullFeedAccountData::from(&*feed)); + // TODO restore when swb fixes alignment issue in crate. + // let feed = PullFeedAccountData::parse(ai_data) + // .map_err(|_| MarginfiError::SwitchboardInvalidAccount)?; // Check staleness let last_updated = feed.last_update_timestamp; @@ -606,9 +595,7 @@ impl SwitchboardPullPriceFeed { return err!(MarginfiError::SwitchboardStalePrice); } - Ok(Self { - feed: Box::new(feed.into()), - }) + Ok(Self { feed: lite_feed }) } fn check_ais(ai: &AccountInfo) -> MarginfiResult { @@ -619,8 +606,10 @@ impl SwitchboardPullPriceFeed { MarginfiError::SwitchboardWrongAccountOwner ); - PullFeedAccountData::parse(ai_data) - .map_err(|_| MarginfiError::SwitchboardInvalidAccount)?; + let _feed = parse_swb_ignore_alignment(ai_data)?; + // TODO restore when swb fixes alignment issue in crate. + // PullFeedAccountData::parse(ai_data) + // .map_err(|_| MarginfiError::SwitchboardInvalidAccount)?; Ok(()) } @@ -693,113 +682,29 @@ impl PriceAdapter for SwitchboardPullPriceFeed { } } -#[cfg_attr(feature = "client", derive(Clone, Debug))] -pub struct SwitchboardV2PriceFeed { - aggregator_account: Box, -} - -impl SwitchboardV2PriceFeed { - pub fn load_checked( - ai: &AccountInfo, - current_timestamp: i64, - max_age: u64, - ) -> MarginfiResult { - let ai_data = ai.data.borrow(); - - check!( - ai.owner.eq(&SWITCHBOARD_PROGRAM_ID), - MarginfiError::InternalLogicError - ); - - let aggregator_account = AggregatorAccountData::new_from_bytes(&ai_data) - .map_err(|_| MarginfiError::InternalLogicError)?; - - aggregator_account - .check_staleness(current_timestamp, max_age as i64) - .map_err(|_| MarginfiError::InternalLogicError)?; - - Ok(Self { - aggregator_account: Box::new(aggregator_account.into()), - }) - } - - fn check_ais(ai: &AccountInfo) -> MarginfiResult { - let ai_data = ai.data.borrow(); - - check!( - ai.owner.eq(&SWITCHBOARD_PROGRAM_ID), - MarginfiError::InternalLogicError - ); - - AggregatorAccountData::new_from_bytes(&ai_data) - .map_err(|_| MarginfiError::InternalLogicError)?; - - Ok(()) +// TODO remove when swb fixes the alignment issue in their crate +// (TargetAlignmentGreaterAndInputNotAligned) when bytemuck::from_bytes executes on any local system +// (including bpf next-test) where the struct is "properly" aligned 16 +/// The same as PullFeedAccountData::parse but completely ignores input alignment. +pub fn parse_swb_ignore_alignment( + data: Ref<&mut [u8]>, +) -> MarginfiResult> { + if data.len() < 8 { + return err!(MarginfiError::SwitchboardInvalidAccount); } - fn get_price(&self) -> MarginfiResult { - let sw_decimal = self - .aggregator_account - .get_result() - .map_err(|_| MarginfiError::InvalidPrice)?; - - Ok(switchboard_decimal_to_i80f48(sw_decimal) - .ok_or(MarginfiError::InvalidSwitchboardDecimalConversion)?) + let mut disc_bytes = [0u8; 8]; + disc_bytes.copy_from_slice(&data[..8]); + if disc_bytes != PullFeedAccountData::DISCRIMINATOR { + return err!(MarginfiError::SwitchboardInvalidAccount); } - fn get_confidence_interval(&self) -> MarginfiResult { - let std_div = self.aggregator_account.latest_confirmed_round_std_deviation; - let std_div = switchboard_decimal_to_i80f48(std_div) - .ok_or(MarginfiError::InvalidSwitchboardDecimalConversion)?; - - let conf_interval = std_div - .checked_mul(STD_DEV_MULTIPLE) - .ok_or_else(math_error!())?; - - let price = self.get_price()?; + let mut data_bytes: Box<[u8; 3200]> = Box::new([0u8; 3200]); + data_bytes.copy_from_slice(&data[8..3208]); - let max_conf_interval = price - .checked_mul(MAX_CONF_INTERVAL) - .ok_or_else(math_error!())?; - - assert!( - max_conf_interval >= I80F48::ZERO, - "Negative max confidence interval" - ); - - assert!( - conf_interval >= I80F48::ZERO, - "Negative confidence interval" - ); - - Ok(min(conf_interval, max_conf_interval)) - } -} - -impl PriceAdapter for SwitchboardV2PriceFeed { - fn get_price_of_type( - &self, - _price_type: OraclePriceType, - bias: Option, - ) -> MarginfiResult { - let price = self.get_price()?; - - match bias { - Some(price_bias) => { - let confidence_interval = self.get_confidence_interval()?; - - match price_bias { - PriceBias::Low => Ok(price - .checked_sub(confidence_interval) - .ok_or_else(math_error!())?), - PriceBias::High => Ok(price - .checked_add(confidence_interval) - .ok_or_else(math_error!())?), - } - } - None => Ok(price), - } - } + let feed = bytemuck::try_pod_read_unaligned::(&*data_bytes) + .map_err(|_| MarginfiError::SwitchboardInvalidAccount)?; + Ok(Box::new(feed)) } pub fn load_price_update_v2_checked(ai: &AccountInfo) -> MarginfiResult { @@ -823,7 +728,7 @@ pub fn load_price_update_v2_checked(ai: &AccountInfo) -> MarginfiResult::DISCRIMINATOR, + discriminator == ::DISCRIMINATOR, MarginfiError::PythPushInvalidAccount ); @@ -1074,58 +979,6 @@ impl From> for LitePullFeedAccountData { } } -/// A slimmed down version of the AggregatorAccountData struct copied from the switchboard-v2/src/aggregator.rs -#[cfg_attr(feature = "client", derive(Clone, Debug))] -struct LiteAggregatorAccountData { - /// Use sliding windoe or round based resolution - /// NOTE: This changes result propagation in latest_round_result - pub resolution_mode: AggregatorResolutionMode, - /// Latest confirmed update request result that has been accepted as valid. - pub latest_confirmed_round_result: SwitchboardDecimal, - pub latest_confirmed_round_num_success: u32, - pub latest_confirmed_round_std_deviation: SwitchboardDecimal, - /// Minimum number of oracle responses required before a round is validated. - pub min_oracle_results: u32, -} - -impl From<&AggregatorAccountData> for LiteAggregatorAccountData { - fn from(agg: &AggregatorAccountData) -> Self { - Self { - resolution_mode: agg.resolution_mode, - latest_confirmed_round_result: agg.latest_confirmed_round.result, - latest_confirmed_round_num_success: agg.latest_confirmed_round.num_success, - latest_confirmed_round_std_deviation: agg.latest_confirmed_round.std_deviation, - min_oracle_results: agg.min_oracle_results, - } - } -} - -impl LiteAggregatorAccountData { - /// If sufficient oracle responses, returns the latest on-chain result in SwitchboardDecimal format - /// - /// # Examples - /// - /// ```ignore - /// use switchboard_v2::AggregatorAccountData; - /// use std::convert::TryInto; - /// - /// let feed_result = AggregatorAccountData::new(feed_account_info)?.get_result()?; - /// let decimal: f64 = feed_result.try_into()?; - /// ``` - - pub fn get_result(&self) -> anchor_lang::Result { - if self.resolution_mode == AggregatorResolutionMode::ModeSlidingResolution { - return Ok(self.latest_confirmed_round_result); - } - let min_oracle_results = self.min_oracle_results; - let latest_confirmed_round_num_success = self.latest_confirmed_round_num_success; - if min_oracle_results > latest_confirmed_round_num_success { - return Err(MarginfiError::SwitchboardInvalidAccount.into()); - } - Ok(self.latest_confirmed_round_result) - } -} - #[inline(always)] fn pyth_price_components_to_i80f48(price: I80F48, exponent: i32) -> MarginfiResult { let scaling_factor = EXP_10_I80F48[exponent.unsigned_abs() as usize]; @@ -1153,70 +1006,15 @@ fn load_pyth_price_feed(ai: &AccountInfo) -> MarginfiResult { Ok(price_feed) } -#[inline(always)] -fn switchboard_decimal_to_i80f48(decimal: SwitchboardDecimal) -> Option { - let decimal = fit_scale_switchboard_decimal(decimal, MAX_SCALE)?; - - I80F48::from_num(decimal.mantissa).checked_div(EXP_10_I80F48[decimal.scale as usize]) -} - -const MAX_SCALE: u32 = 20; - -/// Scale a SwitchboardDecimal down to a given scale. -/// Return original SwitchboardDecimal if it is already at or below the given scale. -/// -/// This may result in minimal loss of precision past the scale delta. -#[inline] -fn fit_scale_switchboard_decimal( - decimal: SwitchboardDecimal, - scale: u32, -) -> Option { - if decimal.scale <= scale { - return Some(decimal); - } - - let scale_diff = decimal.scale - scale; - let mantissa = decimal.mantissa.checked_div(EXP_10[scale_diff as usize])?; - - Some(SwitchboardDecimal { mantissa, scale }) -} - #[cfg(test)] mod tests { use fixed_macro::types::I80F48; use pretty_assertions::assert_eq; - use rust_decimal::Decimal; + use crate::constants::EXP_10; use crate::utils::hex_to_bytes; use super::*; - #[test] - fn swb_decimal_test_18() { - let decimal = SwitchboardDecimal { - mantissa: 1000000000000000000, - scale: 18, - }; - let i80f48 = switchboard_decimal_to_i80f48(decimal).unwrap(); - assert_eq!(i80f48, I80F48::from_num(1)); - } - - #[test] - /// Testing the standard deviation of the switchboard oracle on the SOLUSD mainnet feed - fn swb_dec_test_28() { - let dec = SwitchboardDecimal { - mantissa: 13942937500000000000000000, - scale: 28, - }; - - { - let decimal: Decimal = dec.try_into().unwrap(); - println!("control check: {:?}", decimal); - } - - let i80f48 = switchboard_decimal_to_i80f48(dec).unwrap(); - - assert_eq!(i80f48, I80F48::from_num(0.00139429375)); - } #[test] fn pyth_conf_interval_cap() { @@ -1253,46 +1051,6 @@ mod tests { assert_eq!(low_conf_interval, I80F48!(2.12)); } - #[test] - fn switchboard_conf_interval_cap() { - // Define a price with a 10% confidence interval - // Initialize SwitchboardV2PriceFeed with high confidence price - let swb_adapter_high_confidence = SwitchboardV2PriceFeed { - aggregator_account: Box::new(LiteAggregatorAccountData { - resolution_mode: AggregatorResolutionMode::ModeSlidingResolution, - latest_confirmed_round_result: SwitchboardDecimal::from_f64(100.0), - latest_confirmed_round_num_success: 1, - latest_confirmed_round_std_deviation: SwitchboardDecimal::from_f64(10.0), - min_oracle_results: 1, - }), - }; - - let swb_adapter_low_confidence = SwitchboardV2PriceFeed { - aggregator_account: Box::new(LiteAggregatorAccountData { - resolution_mode: AggregatorResolutionMode::ModeSlidingResolution, - latest_confirmed_round_result: SwitchboardDecimal::from_f64(100.0), - latest_confirmed_round_num_success: 1, - latest_confirmed_round_std_deviation: SwitchboardDecimal::from_f64(1.0), - min_oracle_results: 1, - }), - }; - - // Test confidence interval - let high_conf_interval = swb_adapter_high_confidence - .get_confidence_interval() - .unwrap(); - // The confidence interval should be capped at 5% - assert_eq!(high_conf_interval, I80F48!(5.00000000000007)); - - let low_conf_interval = swb_adapter_low_confidence - .get_confidence_interval() - .unwrap(); - - // The confidence interval should be the calculated value (1.96%) - - assert_eq!(low_conf_interval, I80F48!(1.96)); - } - #[test] fn pyth_and_pyth_push_cmp() { fn get_prices( @@ -1472,46 +1230,31 @@ mod tests { ); } - use solana_sdk::account::Account; + use anchor_lang::solana_program::account_info::AccountInfo; use std::cell::RefCell; use std::rc::Rc; - /// Convert an account to info, useful if you only care about data for testing purposes. - pub fn account_to_account_info<'a>( - account: &'a mut Account, - key: &'a Pubkey, - ) -> AccountInfo<'a> { - AccountInfo { - key, - lamports: Rc::new(RefCell::new(&mut account.lamports)), - data: Rc::new(RefCell::new(&mut account.data[..])), - owner: &account.owner, - rent_epoch: account.rent_epoch, - is_signer: false, - is_writable: true, - executable: account.executable, - } - } - - pub fn create_switch_pull_oracle_account_from_bytes(data: Vec) -> Account { - Account { - lamports: 1_000_000, - data, - owner: SWITCHBOARD_PULL_ID, - executable: false, - rent_epoch: 361, - } - } - #[test] fn swb_pull_get_price() { // From mainnet: https://solana.fm/address/BSzfJs4d1tAkSDqkepnfzEVcx2WtDVnwwXa2giy9PLeP // Actual price $155.59404527 // conf/Std_dev ~5% let bytes = hex_to_bytes("c41b6cc40ad7db286f5e7566ac000a9530e56b1db49585772719aeaaeeadb4d9bd8c2357b88e9e782e53d81000000000000000000000000000985f538057856308000000000000005cba953f3f15356b17703e554d3983801916531d7976aa424ad64348ec50e4224650d81000000000000000000000000000a0d5a780cc7f580800000000000000a20b742cedab55efd1faf60aef2cb872a092d24dfba8a48c8b953a5e90ac7bbf874ed81000000000000000000000000000c04958360093580800000000000000e7ef024ea756f8beec2eaa40234070da356754a8eeb2ac6a17c32d17c3e99f8ddc50d81000000000000000000000000000bc8739b45d215b0800000000000000e3e5130902c3e9c27917789769f1ae05de15cf504658beafeed2c598a949b3b7bf53d810000000000000000000000000007cec168c94d667080000000000000020e270b743473d87eff321663e267ba1c9a151f7969cef8147f625e9a2af7287ea54d81000000000000000000000000000dc65eccc174d6f0800000000000000ab605484238ac93f225c65f24d7705bb74b00cdb576555c3995e196691a4de5f484ed8100000000000000000000000000088f28dc9271d59080000000000000015196392573dc9043242716f629d4c0fb93bc0cff7a1a10ede24281b0e98fb7d5454d810000000000000000000000000000441a10ca4a268080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000048ac38271f28ab1b12e49439bddf54871094e4832a56c7a8ec57bd18d357980086807068432f186a147cf0b13a30067d386204ea9d6c8b04743ac2ef010b07524c935636f2523f6aeeb6dc7b7dab0e86a13ff2c794f7895fc78851d69fdb593bdccdb36600000000000000000000000000e40b540200000001000000534f4c2f55534400000000000000000000000000000000000000000000000000000000019e9eb66600000000fca3d11000000000000000000000000000000000000000000000000000000000000000000000000000dc65eccc174d6f0800000000000000006c9225e039550300000000000000000070d3c6ecddf76b080000000000000000d8244bc073aa060000000000000000000441a10ca4a268080000000000000000dc65eccc174d6f08000000000000000200000000000000ea54d810000000005454d81000000000ea54d81000000000fa0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"); - let mut acc = create_switch_pull_oracle_account_from_bytes(bytes); let key = pubkey!("BSzfJs4d1tAkSDqkepnfzEVcx2WtDVnwwXa2giy9PLeP"); - let ai = account_to_account_info(&mut acc, &key); + let mut lamports = 1_000_000u64; + let mut data = bytes.clone(); + + let ai = AccountInfo { + key: &key, + lamports: Rc::new(RefCell::new(&mut lamports)), + data: Rc::new(RefCell::new(&mut data[..])), + owner: &SWITCHBOARD_PULL_ID, + rent_epoch: 361, + is_signer: false, + is_writable: true, + executable: false, + }; + let ai_check = SwitchboardPullPriceFeed::check_ais(&ai); assert!(ai_check.is_ok()); diff --git a/programs/marginfi/tests/admin_actions/account_transfer.rs b/programs/marginfi/tests/admin_actions/account_transfer.rs index c802298df..0b4a41039 100644 --- a/programs/marginfi/tests/admin_actions/account_transfer.rs +++ b/programs/marginfi/tests/admin_actions/account_transfer.rs @@ -69,7 +69,7 @@ async fn marginfi_account_authority_transfer_not_account_owner() -> anyhow::Resu // Note: Sending this tx takes a very long time (longer than all the other tests combined) // because for some reason it takes longer for a signature verification fail to return than it // does for other errors. We simulate instead here for testing SPEEEEEED - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let res = ctx.banks_client.simulate_transaction(tx).await; let is_err = res.unwrap().result.unwrap().is_err(); diff --git a/programs/marginfi/tests/admin_actions/bankruptcy.rs b/programs/marginfi/tests/admin_actions/bankruptcy.rs index 4a8cc91b2..8690797b5 100644 --- a/programs/marginfi/tests/admin_actions/bankruptcy.rs +++ b/programs/marginfi/tests/admin_actions/bankruptcy.rs @@ -13,9 +13,7 @@ use solana_program_test::*; use test_case::test_case; #[test_case(BankMint::Usdc, BankMint::Sol)] -#[test_case(BankMint::UsdcSwb, BankMint::Sol)] #[test_case(BankMint::Sol, BankMint::Usdc)] -#[test_case(BankMint::PyUSD, BankMint::SolSwb)] #[test_case(BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(BankMint::T22WithFee, BankMint::Sol)] #[tokio::test] @@ -100,9 +98,7 @@ async fn marginfi_group_handle_bankruptcy_failure_not_bankrupt( } #[test_case(BankMint::Usdc, BankMint::Sol)] -#[test_case(BankMint::UsdcSwb, BankMint::Sol)] #[test_case(BankMint::Sol, BankMint::Usdc)] -#[test_case(BankMint::PyUSD, BankMint::SolSwb)] #[test_case(BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(BankMint::T22WithFee, BankMint::Sol)] #[tokio::test] @@ -194,9 +190,7 @@ async fn marginfi_group_handle_bankruptcy_failure_no_debt( } #[test_case(BankMint::Usdc, BankMint::Sol)] -#[test_case(BankMint::UsdcSwb, BankMint::Sol)] #[test_case(BankMint::Sol, BankMint::Usdc)] -#[test_case(BankMint::PyUSD, BankMint::SolSwb)] #[test_case(BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(BankMint::T22WithFee, BankMint::Sol)] #[tokio::test] @@ -286,9 +280,7 @@ async fn marginfi_group_handle_bankruptcy_success( } #[test_case(10_000., BankMint::Usdc, BankMint::Sol)] -#[test_case(10_000., BankMint::UsdcSwb, BankMint::Sol)] #[test_case(10_000., BankMint::Sol, BankMint::Usdc)] -#[test_case(10_000., BankMint::PyUSD, BankMint::SolSwb)] #[test_case(10_000., BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(10_000., BankMint::T22WithFee, BankMint::Sol)] #[test_case(10_000., BankMint::Usdc, BankMint::SolSwbOrigFee)] // Sol @ ~ $153 @@ -552,9 +544,7 @@ async fn marginfi_group_handle_bankruptcy_success_fully_insured( } #[test_case(10_000., 5000., BankMint::Usdc, BankMint::Sol)] -#[test_case(10_000., 5000., BankMint::UsdcSwb, BankMint::Sol)] #[test_case(10_000., 5000., BankMint::Sol, BankMint::Usdc)] -#[test_case(10_000., 5000., BankMint::PyUSD, BankMint::SolSwb)] #[test_case(10_000., 5000., BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(10_000., 5000., BankMint::T22WithFee, BankMint::Sol)] #[tokio::test] @@ -730,9 +720,7 @@ async fn marginfi_group_handle_bankruptcy_success_partially_insured( } #[test_case(10_000., BankMint::Usdc, BankMint::Sol)] -#[test_case(10_000., BankMint::UsdcSwb, BankMint::Sol)] #[test_case(10_000., BankMint::Sol, BankMint::Usdc)] -#[test_case(10_000., BankMint::PyUSD, BankMint::SolSwb)] #[test_case(10_000., BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(10_000., BankMint::T22WithFee, BankMint::Sol)] #[tokio::test] diff --git a/programs/marginfi/tests/admin_actions/create_marginfi_group.rs b/programs/marginfi/tests/admin_actions/create_marginfi_group.rs index 13db1b55b..a2aad1d7a 100644 --- a/programs/marginfi/tests/admin_actions/create_marginfi_group.rs +++ b/programs/marginfi/tests/admin_actions/create_marginfi_group.rs @@ -1,8 +1,8 @@ +use anchor_lang::solana_program::{instruction::Instruction, system_program}; use anchor_lang::{InstructionData, ToAccountMetas}; use fixtures::prelude::*; use marginfi::{constants::FEE_STATE_SEED, prelude::MarginfiGroup}; use pretty_assertions::assert_eq; -use solana_program::{instruction::Instruction, system_program}; use solana_program_test::*; use solana_sdk::{pubkey::Pubkey, signature::Keypair, signer::Signer, transaction::Transaction}; diff --git a/programs/marginfi/tests/admin_actions/interest_accrual.rs b/programs/marginfi/tests/admin_actions/interest_accrual.rs index 2892d0d18..eb4662816 100644 --- a/programs/marginfi/tests/admin_actions/interest_accrual.rs +++ b/programs/marginfi/tests/admin_actions/interest_accrual.rs @@ -57,7 +57,7 @@ async fn marginfi_group_accrue_interest_rates_success_1() -> anyhow::Result<()> .await?; { - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let mut clock: Clock = ctx.banks_client.get_sysvar().await?; // Advance clock by 1 year clock.unix_timestamp += 365 * 24 * 60 * 60; @@ -152,7 +152,7 @@ async fn marginfi_group_accrue_interest_rates_success_2() -> anyhow::Result<()> // Advance clock by 1 minute { - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let mut clock: Clock = ctx.banks_client.get_sysvar().await?; clock.unix_timestamp += 60; ctx.set_sysvar(&clock); diff --git a/programs/marginfi/tests/admin_actions/setup_bank.rs b/programs/marginfi/tests/admin_actions/setup_bank.rs index b3d9ee0c8..15a8f4ddb 100644 --- a/programs/marginfi/tests/admin_actions/setup_bank.rs +++ b/programs/marginfi/tests/admin_actions/setup_bank.rs @@ -13,8 +13,7 @@ use marginfi::{ }; use pretty_assertions::assert_eq; use solana_program_test::*; -use solana_sdk::pubkey::Pubkey; -use switchboard_solana::Clock; +use solana_sdk::{clock::Clock, pubkey::Pubkey}; use test_case::test_case; #[tokio::test] @@ -30,14 +29,8 @@ async fn add_bank_success() -> anyhow::Result<()> { *DEFAULT_USDC_TEST_BANK_CONFIG, ), ( - MintFixture::new_token_22( - test_f.context.clone(), - None, - None, - &[SupportedExtension::TransferFee], - ) - .await, - *DEFAULT_T22_WITH_FEE_TEST_BANK_CONFIG, + MintFixture::new(test_f.context.clone(), None, None).await, + *DEFAULT_SOL_TEST_BANK_CONFIG, ), ( MintFixture::new_from_file(&test_f.context.clone(), "src/fixtures/pyUSD.json"), @@ -49,7 +42,7 @@ async fn add_bank_success() -> anyhow::Result<()> { // Load the fee state before the start of the test let fee_balance_before: u64; { - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); fee_balance_before = ctx .banks_client .get_account(fee_wallet) @@ -133,7 +126,7 @@ async fn add_bank_success() -> anyhow::Result<()> { // Load the fee state after the test let fee_balance_after: u64; { - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); fee_balance_after = ctx .banks_client .get_account(fee_wallet) @@ -163,14 +156,8 @@ async fn add_bank_with_seed_success() -> anyhow::Result<()> { *DEFAULT_USDC_TEST_BANK_CONFIG, ), ( - MintFixture::new_token_22( - test_f.context.clone(), - None, - None, - &[SupportedExtension::TransferFee], - ) - .await, - *DEFAULT_T22_WITH_FEE_TEST_BANK_CONFIG, + MintFixture::new(test_f.context.clone(), None, None).await, + *DEFAULT_SOL_TEST_BANK_CONFIG, ), ( MintFixture::new_from_file(&test_f.context.clone(), "src/fixtures/pyUSD.json"), @@ -181,7 +168,7 @@ async fn add_bank_with_seed_success() -> anyhow::Result<()> { for (mint_f, bank_config) in mints { let fee_balance_before: u64; { - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); fee_balance_before = ctx .banks_client .get_account(fee_wallet) @@ -267,7 +254,7 @@ async fn add_bank_with_seed_success() -> anyhow::Result<()> { let fee_balance_after: u64; { - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); fee_balance_after = ctx .banks_client .get_account(fee_wallet) @@ -447,14 +434,8 @@ async fn add_too_many_arena_banks() -> anyhow::Result<()> { *DEFAULT_USDC_TEST_BANK_CONFIG, ), ( - MintFixture::new_token_22( - test_f.context.clone(), - None, - None, - &[SupportedExtension::TransferFee], - ) - .await, - *DEFAULT_T22_WITH_FEE_TEST_BANK_CONFIG, + MintFixture::new(test_f.context.clone(), None, None).await, + *DEFAULT_SOL_TEST_BANK_CONFIG, ), ]; @@ -502,14 +483,8 @@ async fn config_group_as_arena_too_many_banks() -> anyhow::Result<()> { *DEFAULT_USDC_TEST_BANK_CONFIG, ), ( - MintFixture::new_token_22( - test_f.context.clone(), - None, - None, - &[SupportedExtension::TransferFee], - ) - .await, - *DEFAULT_T22_WITH_FEE_TEST_BANK_CONFIG, + MintFixture::new(test_f.context.clone(), None, None).await, + *DEFAULT_SOL_TEST_BANK_CONFIG, ), ( MintFixture::new_from_file(&test_f.context.clone(), "src/fixtures/pyUSD.json"), diff --git a/programs/marginfi/tests/misc/collateral_value_cap.rs b/programs/marginfi/tests/misc/collateral_value_cap.rs index 3305792f2..66a37e20f 100644 --- a/programs/marginfi/tests/misc/collateral_value_cap.rs +++ b/programs/marginfi/tests/misc/collateral_value_cap.rs @@ -42,7 +42,7 @@ async fn marginfi_group_init_limit_0() -> anyhow::Result<()> { .await?; usdc_depositor - .try_bank_deposit(usdc_token_account.key, usdc_bank, 100, None) + .try_bank_deposit(usdc_token_account.key, usdc_bank, 100.01, None) .await?; // Borrowing 10 SOL should fail bc of init limit @@ -60,7 +60,7 @@ async fn marginfi_group_init_limit_0() -> anyhow::Result<()> { // Borrowing 10 SOL should succeed now let res = usdc_depositor - .try_bank_borrow(depositor_sol_account.key, sol_bank, 10) + .try_bank_borrow(depositor_sol_account.key, sol_bank, 9.999) .await; usdc_bank @@ -80,12 +80,12 @@ async fn marginfi_group_init_limit_0() -> anyhow::Result<()> { .await?; usdc_depositor - .try_bank_deposit(usdc_token_account.key, usdc_bank, 100, None) + .try_bank_deposit(usdc_token_account.key, usdc_bank, 100.02, None) .await?; // Borrowing 10 SOL should succeed now let res = usdc_depositor - .try_bank_borrow(depositor_sol_account.key, sol_bank, 10) + .try_bank_borrow(depositor_sol_account.key, sol_bank, 9.9999) .await; assert!(res.is_ok()); diff --git a/programs/marginfi/tests/misc/regression.rs b/programs/marginfi/tests/misc/regression.rs index 92661f5be..99cc015d2 100644 --- a/programs/marginfi/tests/misc/regression.rs +++ b/programs/marginfi/tests/misc/regression.rs @@ -1,5 +1,6 @@ use std::{fs::File, io::Read, path::PathBuf, str::FromStr}; +use anchor_lang::solana_program::pubkey; use anchor_lang::AccountDeserialize; use anyhow::bail; use base64::{prelude::BASE64_STANDARD, Engine}; @@ -16,9 +17,8 @@ use marginfi::{ }; use solana_account_decoder::UiAccountData; use solana_cli_output::CliAccount; -use solana_program::pubkey; use solana_program_test::tokio; -use switchboard_solana::Pubkey; +use solana_sdk::pubkey::Pubkey; #[tokio::test] async fn account_field_values_reg() -> anyhow::Result<()> { diff --git a/programs/marginfi/tests/user_actions/borrow.rs b/programs/marginfi/tests/user_actions/borrow.rs index 0bf3a7818..b6d2c9335 100644 --- a/programs/marginfi/tests/user_actions/borrow.rs +++ b/programs/marginfi/tests/user_actions/borrow.rs @@ -18,9 +18,7 @@ use test_case::test_case; #[test_case(100., 9., BankMint::Usdc, BankMint::Sol)] #[test_case(123456.0, 12345.599999999, BankMint::Usdc, BankMint::Sol)] -#[test_case(123456.0, 10000., BankMint::UsdcSwb, BankMint::Sol)] #[test_case(1.0, 5.0, BankMint::Sol, BankMint::Usdc)] -#[test_case(128932.0, 9834.0, BankMint::PyUSD, BankMint::SolSwb)] #[test_case(240., 0.092, BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(36., 1.7, BankMint::T22WithFee, BankMint::Sol)] #[test_case(200., 1.1, BankMint::Usdc, BankMint::SolSwbOrigFee)] // Sol @ ~ $153 @@ -211,9 +209,7 @@ async fn marginfi_account_borrow_success( #[test_case(100., 9., 10.000000001, BankMint::Usdc, BankMint::Sol)] #[test_case(123_456., 12_345.6, 12_345.9, BankMint::Usdc, BankMint::Sol)] -#[test_case(123_456., 10_000., 15_000., BankMint::UsdcSwb, BankMint::Sol)] #[test_case(1., 5., 11.98224, BankMint::Sol, BankMint::Usdc)] -#[test_case(128_932., 10_000., 15_000.0, BankMint::PyUSD, BankMint::SolSwb)] #[test_case(240., 0.092, 500., BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(36., 1.7, 1.9, BankMint::T22WithFee, BankMint::Sol)] #[test_case(1., 100., 155.1, BankMint::SolSwbPull, BankMint::Usdc)] // Sol @ ~ $153 @@ -303,9 +299,7 @@ async fn marginfi_account_borrow_failure_not_enough_collateral( #[test_case(505., 500., 505.0000000001, BankMint::Usdc, BankMint::Sol)] #[test_case(12_345.6, 12_345.5, 12_345.9, BankMint::Usdc, BankMint::Sol)] -#[test_case(11_000., 10_000., 15_000., BankMint::UsdcSwb, BankMint::Sol)] #[test_case(0.91, 0.1, 0.98, BankMint::Sol, BankMint::Usdc)] -#[test_case(11_000., 10_000., 15_000., BankMint::PyUSD, BankMint::SolSwb)] #[test_case(505., 0.092, 500., BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(1.8, 1.7, 1.9, BankMint::T22WithFee, BankMint::Sol)] #[test_case(1.5, 1.4, 1.6, BankMint::SolSwbPull, BankMint::Usdc)] diff --git a/programs/marginfi/tests/user_actions/close_balance.rs b/programs/marginfi/tests/user_actions/close_balance.rs index 9415d0d1c..5571bc234 100644 --- a/programs/marginfi/tests/user_actions/close_balance.rs +++ b/programs/marginfi/tests/user_actions/close_balance.rs @@ -4,7 +4,7 @@ use fixtures::{ }; use marginfi::errors::MarginfiError; use solana_program_test::tokio; -use switchboard_solana::Clock; +use solana_sdk::clock::Clock; #[tokio::test] async fn lending_account_close_balance() -> anyhow::Result<()> { @@ -76,7 +76,7 @@ async fn lending_account_close_balance() -> anyhow::Result<()> { // Let a second go b { - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let mut clock: Clock = ctx.banks_client.get_sysvar().await?; // Advance clock by 1 second clock.unix_timestamp += 1; diff --git a/programs/marginfi/tests/user_actions/deposit.rs b/programs/marginfi/tests/user_actions/deposit.rs index c754004eb..639e31808 100644 --- a/programs/marginfi/tests/user_actions/deposit.rs +++ b/programs/marginfi/tests/user_actions/deposit.rs @@ -12,10 +12,8 @@ use solana_sdk::{instruction::Instruction, signer::Signer}; use test_case::test_case; #[test_case(0.0, BankMint::Usdc)] -#[test_case(0.05, BankMint::UsdcSwb)] #[test_case(1_000.0, BankMint::Usdc)] #[test_case(0.05, BankMint::Sol)] -#[test_case(15_002.0, BankMint::SolSwb)] #[test_case(0.05, BankMint::PyUSD)] #[test_case(15_002.0, BankMint::PyUSD)] #[test_case(0.0, BankMint::T22WithFee)] @@ -102,9 +100,7 @@ async fn marginfi_account_deposit_success( } #[test_case(1_000., 456., 2345., BankMint::Usdc)] -#[test_case(1_000., 456., 2345., BankMint::UsdcSwb)] #[test_case(1_000., 456., 2345., BankMint::Sol)] -#[test_case(1_000., 456., 2345., BankMint::SolSwb)] #[test_case(1_000., 456., 2345., BankMint::PyUSD)] #[test_case(1_000., 456., 2345., BankMint::T22WithFee)] #[test_case(1_000., 999.999999, 1000., BankMint::T22WithFee)] @@ -216,7 +212,7 @@ async fn marginfi_account_deposit_failure_wrong_token_program() -> anyhow::Resul ) }; - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let res = ctx.banks_client.process_transaction(tx).await; assert!(res.is_err()); diff --git a/programs/marginfi/tests/user_actions/flash_loan.rs b/programs/marginfi/tests/user_actions/flash_loan.rs index 6d9f49b46..a661678e3 100644 --- a/programs/marginfi/tests/user_actions/flash_loan.rs +++ b/programs/marginfi/tests/user_actions/flash_loan.rs @@ -1,8 +1,8 @@ +use anchor_lang::solana_program::{instruction::Instruction, pubkey::Pubkey}; use anchor_lang::{InstructionData, ToAccountMetas}; use fixtures::{assert_custom_error, prelude::*}; use marginfi::prelude::*; use pretty_assertions::assert_eq; -use solana_program::{instruction::Instruction, pubkey::Pubkey}; use solana_program_test::*; use solana_sdk::{ compute_budget::ComputeBudgetInstruction, signer::Signer, transaction::Transaction, @@ -244,7 +244,7 @@ async fn flashloan_fail_missing_fe_ix() -> anyhow::Result<()> { ixs.insert(0, start_ix); - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let tx = Transaction::new_signed_with_payer( &ixs, @@ -319,7 +319,7 @@ async fn flashloan_fail_missing_invalid_sysvar_ixs() -> anyhow::Result<()> { ixs.insert(0, start_ix); ixs.push(end_ix); - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let tx = Transaction::new_signed_with_payer( &ixs, @@ -375,7 +375,7 @@ async fn flashloan_fail_invalid_end_fl_order() -> anyhow::Result<()> { ixs.insert(0, start_ix); ixs.insert(0, end_ix); - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let tx = Transaction::new_signed_with_payer( &ixs, @@ -431,7 +431,7 @@ async fn flashloan_fail_invalid_end_fl_different_m_account() -> anyhow::Result<( ixs.insert(0, start_ix); ixs.push(end_ix); - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let tx = Transaction::new_signed_with_payer( &ixs, @@ -488,7 +488,7 @@ async fn flashloan_fail_already_in_flashloan() -> anyhow::Result<()> { ixs.insert(0, start_ix.clone()); ixs.push(end_ix); - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let tx = Transaction::new_signed_with_payer( &ixs, diff --git a/programs/marginfi/tests/user_actions/liquidate.rs b/programs/marginfi/tests/user_actions/liquidate.rs index 6203a9d44..c8fe959ab 100644 --- a/programs/marginfi/tests/user_actions/liquidate.rs +++ b/programs/marginfi/tests/user_actions/liquidate.rs @@ -396,128 +396,6 @@ async fn marginfi_account_liquidation_success_many_balances() -> anyhow::Result< Ok(()) } -#[tokio::test] -async fn marginfi_account_liquidation_success_swb() -> anyhow::Result<()> { - let test_f = TestFixture::new(Some(TestSettings { - banks: vec![ - TestBankSetting { - mint: BankMint::Usdc, - ..TestBankSetting::default() - }, - TestBankSetting { - mint: BankMint::Sol, - config: Some(BankConfig { - asset_weight_init: I80F48!(1).into(), - asset_weight_maint: I80F48!(1).into(), - ..*DEFAULT_SOL_TEST_SW_BANK_CONFIG - }), - }, - ], - protocol_fees: false, - })) - .await; - - let usdc_bank_f = test_f.get_bank(&BankMint::Usdc); - let sol_bank_f = test_f.get_bank(&BankMint::Sol); - - let lender_mfi_account_f = test_f.create_marginfi_account().await; - let lender_token_account_usdc = test_f - .usdc_mint - .create_token_account_and_mint_to(2_000) - .await; - lender_mfi_account_f - .try_bank_deposit(lender_token_account_usdc.key, usdc_bank_f, 2_000, None) - .await?; - - let borrower_mfi_account_f = test_f.create_marginfi_account().await; - let borrower_token_account_sol = test_f.sol_mint.create_token_account_and_mint_to(100).await; - let borrower_token_account_usdc = test_f.usdc_mint.create_empty_token_account().await; - - // Borrower deposits 100 SOL worth of $1000 - borrower_mfi_account_f - .try_bank_deposit(borrower_token_account_sol.key, sol_bank_f, 100, None) - .await?; - - // Borrower borrows $999 - borrower_mfi_account_f - .try_bank_borrow(borrower_token_account_usdc.key, usdc_bank_f, 999) - .await?; - - // Synthetically bring down the borrower account health by reducing the asset weights of the SOL bank - sol_bank_f - .update_config( - BankConfigOpt { - asset_weight_init: Some(I80F48!(0.25).into()), - asset_weight_maint: Some(I80F48!(0.5).into()), - ..Default::default() - }, - None, - ) - .await?; - - lender_mfi_account_f - .try_liquidate(&borrower_mfi_account_f, sol_bank_f, 1, usdc_bank_f) - .await?; - - // Checks - let sol_bank: Bank = sol_bank_f.load().await; - let usdc_bank: Bank = usdc_bank_f.load().await; - - let depositor_ma = lender_mfi_account_f.load().await; - let borrower_ma = borrower_mfi_account_f.load().await; - - // Depositors should have 1 SOL - assert_eq!( - sol_bank - .get_asset_amount(depositor_ma.lending_account.balances[1].asset_shares.into()) - .unwrap(), - I80F48::from(native!(1, "SOL")) - ); - - // Depositors should have 1990.25 USDC - assert_eq_noise!( - usdc_bank - .get_asset_amount(depositor_ma.lending_account.balances[0].asset_shares.into()) - .unwrap(), - I80F48::from(native!(1990.25, "USDC", f64)), - native!(0.01, "USDC", f64) - ); - - // Borrower should have 99 SOL - assert_eq!( - sol_bank - .get_asset_amount(borrower_ma.lending_account.balances[0].asset_shares.into()) - .unwrap(), - I80F48::from(native!(99, "SOL")) - ); - - // Borrower should have 989.50 USDC - assert_eq_noise!( - usdc_bank - .get_liability_amount( - borrower_ma.lending_account.balances[1] - .liability_shares - .into() - ) - .unwrap(), - I80F48::from(native!(989.50, "USDC", f64)), - native!(0.01, "USDC", f64) - ); - - // Check insurance fund fee - let insurance_fund_usdc = usdc_bank_f - .get_vault_token_account(BankVaultType::Insurance) - .await; - - assert_eq_noise!( - insurance_fund_usdc.balance().await as i64, - native!(0.25, "USDC", f64) as i64, - native!(0.001, "USDC", f64) as i64 - ); - - Ok(()) -} - #[tokio::test] async fn marginfi_account_liquidation_failure_liquidatee_not_unhealthy() -> anyhow::Result<()> { let test_f = TestFixture::new(Some(TestSettings { diff --git a/programs/marginfi/tests/user_actions/mod.rs b/programs/marginfi/tests/user_actions/mod.rs index df996f0ea..b4e7693f3 100644 --- a/programs/marginfi/tests/user_actions/mod.rs +++ b/programs/marginfi/tests/user_actions/mod.rs @@ -61,7 +61,7 @@ async fn automatic_interest_payments() -> anyhow::Result<()> { // Let a year go by { - let mut ctx = test_f.context.borrow_mut(); + let ctx = test_f.context.borrow_mut(); let mut clock: Clock = ctx.banks_client.get_sysvar().await?; // Advance clock by 1 year clock.unix_timestamp += 365 * 24 * 60 * 60; diff --git a/programs/marginfi/tests/user_actions/repay.rs b/programs/marginfi/tests/user_actions/repay.rs index b7bad9b89..8c15a5198 100644 --- a/programs/marginfi/tests/user_actions/repay.rs +++ b/programs/marginfi/tests/user_actions/repay.rs @@ -11,9 +11,7 @@ use test_case::test_case; #[test_case(100., 9., BankMint::Usdc, BankMint::Sol)] #[test_case(123456., 12345.599999999, BankMint::Usdc, BankMint::Sol)] -#[test_case(123456., 10000., BankMint::UsdcSwb, BankMint::Sol)] #[test_case(1., 1., BankMint::Sol, BankMint::Usdc)] -#[test_case(128932., 9834., BankMint::PyUSD, BankMint::SolSwb)] #[test_case(240., 0.092, BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(36., 20., BankMint::T22WithFee, BankMint::Sol)] #[test_case(200., 1.1, BankMint::Usdc, BankMint::SolSwbOrigFee)] // Sol @ ~ $153 @@ -56,16 +54,19 @@ async fn marginfi_account_repay_success( .get_sufficient_collateral_for_outflow(borrow_amount, &collateral_mint, &debt_mint) .await; let user_wallet_balance = get_max_deposit_amount_pre_fee(sufficient_collateral_amount); + let user_collateral_token_account_f = test_f .get_bank_mut(&collateral_mint) .mint .create_token_account_and_mint_to(user_wallet_balance) .await; + let user_debt_token_account_f = test_f .get_bank_mut(&debt_mint) .mint .create_empty_token_account() .await; + user_mfi_account_f .try_bank_deposit( user_collateral_token_account_f.key, @@ -140,9 +141,7 @@ async fn marginfi_account_repay_success( #[test_case(100., BankMint::Usdc, BankMint::Sol)] #[test_case(123456., BankMint::Usdc, BankMint::Sol)] -#[test_case(123456., BankMint::UsdcSwb, BankMint::Sol)] #[test_case(1., BankMint::Sol, BankMint::Usdc)] -#[test_case(128932., BankMint::PyUSD, BankMint::SolSwb)] #[test_case(240., BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(36., BankMint::T22WithFee, BankMint::Sol)] #[test_case(200., BankMint::Usdc, BankMint::SolSwbOrigFee)] // Sol @ ~ $153 @@ -297,9 +296,8 @@ async fn marginfi_account_repay_all_success( #[test_case(100., 110., BankMint::Usdc, BankMint::Sol)] #[test_case(123456., 123457., BankMint::Usdc, BankMint::Sol)] -#[test_case(3000., 10000., BankMint::UsdcSwb, BankMint::Sol)] #[test_case(1., 1.000002, BankMint::Sol, BankMint::Usdc)] -#[test_case(9834., 234749., BankMint::PyUSD, BankMint::SolSwb)] +#[test_case(9834., 234749., BankMint::PyUSD, BankMint::Sol)] #[test_case(0.092, 240., BankMint::PyUSD, BankMint::T22WithFee)] #[test_case(1.7, 36., BankMint::T22WithFee, BankMint::Sol)] #[tokio::test] diff --git a/programs/marginfi/tests/user_actions/withdraw.rs b/programs/marginfi/tests/user_actions/withdraw.rs index f6fc4186f..4079afd31 100644 --- a/programs/marginfi/tests/user_actions/withdraw.rs +++ b/programs/marginfi/tests/user_actions/withdraw.rs @@ -9,8 +9,6 @@ use solana_program_test::*; use test_case::test_case; #[test_case(0.03, 0.012, BankMint::Usdc)] -#[test_case(100.0, 100.0, BankMint::UsdcSwb)] -#[test_case(100.0, 100.0, BankMint::SolSwb)] #[test_case(128932.0, 9834.0, BankMint::PyUSD)] #[test_case(0.1, 0.092, BankMint::T22WithFee)] #[test_case(100.0, 92.0, BankMint::T22WithFee)] @@ -273,9 +271,7 @@ async fn marginfi_account_withdraw_all_success( } #[test_case(0.03, 0.030001, BankMint::Usdc)] -#[test_case(100., 101., BankMint::UsdcSwb)] #[test_case(100., 102., BankMint::Sol)] -#[test_case(100., 102., BankMint::SolSwb)] #[test_case(109247394., 109247394.000001, BankMint::PyUSD)] #[test_case(16., 16., BankMint::T22WithFee)] #[test_case(100., 98., BankMint::T22WithFee)] diff --git a/programs/mocks/Cargo.toml b/programs/mocks/Cargo.toml index e1a5ff097..4ef81b960 100644 --- a/programs/mocks/Cargo.toml +++ b/programs/mocks/Cargo.toml @@ -27,5 +27,5 @@ staging = [] anchor-lang = { workspace = true } anchor-spl = { workspace = true } -bytemuck = { version = "1.9.1", features = ["derive"] } -static_assertions = "1.1.0" \ No newline at end of file +bytemuck = { workspace = true, features = ["derive"] } +static_assertions = { workspace = true } diff --git a/programs/test_transfer_hook/Cargo.toml b/programs/test_transfer_hook/Cargo.toml index b23f23a7d..0e8a34ddc 100644 --- a/programs/test_transfer_hook/Cargo.toml +++ b/programs/test_transfer_hook/Cargo.toml @@ -11,7 +11,8 @@ no-entrypoint = [] crate-type = ["cdylib", "lib"] [dependencies] -solana-program = { workspace = true } +# solana-program = { workspace = true } +anchor-lang = { workspace = true } spl-token-2022 = { workspace = true, features = ["no-entrypoint"] } spl-transfer-hook-interface = { workspace = true } spl-tlv-account-resolution = { workspace = true } diff --git a/programs/test_transfer_hook/src/lib.rs b/programs/test_transfer_hook/src/lib.rs index ddda3069f..5ec634ff2 100644 --- a/programs/test_transfer_hook/src/lib.rs +++ b/programs/test_transfer_hook/src/lib.rs @@ -1,6 +1,6 @@ //! Program state processor use { - solana_program::{ + anchor_lang::solana_program::{ account_info::{next_account_info, AccountInfo}, entrypoint::ProgramResult, msg, @@ -28,7 +28,7 @@ use { pub static TEST_HOOK_ID: Pubkey = pubkey!("TRANSFERHKTRANSFERHKTRANSFERHKTRANSFERHKTRA"); #[cfg(not(feature = "no-entrypoint"))] -solana_program::entrypoint!(process); +anchor_lang::solana_program::entrypoint!(process); #[allow(unused)] fn check_token_account_is_transferring(account_info: &AccountInfo) -> Result<(), ProgramError> { @@ -227,7 +227,7 @@ pub fn process(program_id: &Pubkey, accounts: &[AccountInfo], input: &[u8]) -> P // #[tokio::test] // async fn invoke_hook() { -// let mut ctx = ProgramTest::new("transfer_hook", TEST_HOOK_ID, processor!(super::process)) +// let ctx = ProgramTest::new("transfer_hook", TEST_HOOK_ID, processor!(super::process)) // .start_with_context() // .await; diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 7897a24d1..628740b12 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.75.0" +channel = "1.79.0" diff --git a/scripts/build-program-verifiable.sh b/scripts/build-program-verifiable.sh index 25d86c12d..8c3ac568a 100755 --- a/scripts/build-program-verifiable.sh +++ b/scripts/build-program-verifiable.sh @@ -27,6 +27,12 @@ else exit 1 fi +export CARGO_PROFILE_RELEASE_OVERFLOW_CHECKS=true +export CARGO_PROFILE_RELEASE_LTO=fat +export CARGO_PROFILE_RELEASE_CODEGEN_UNITS=1 +export CARGO_PROFILE_RELEASE_OPT_LEVEL=3 +export CARGO_PROFILE_RELEASE_INCREMENTAL=false + cmd="sudo $verify_bin build --library-name $program_lib_name -- $features" echo "Running: $cmd" eval "$cmd" diff --git a/test-utils/Cargo.toml b/test-utils/Cargo.toml index 9c1a17e81..5d637b106 100644 --- a/test-utils/Cargo.toml +++ b/test-utils/Cargo.toml @@ -5,7 +5,7 @@ publish = false edition = "2021" [features] -lip = ["liquidity-incentive-program"] +# lip = ["liquidity-incentive-program"] [dependencies] solana-cli-output = { workspace = true } @@ -13,27 +13,26 @@ solana-program = { workspace = true } solana-logger = { workspace = true } solana-program-test = { workspace = true } solana-sdk = { workspace = true } -spl-token-2022 = { workspace = true } spl-transfer-hook-interface = { workspace = true } -spl-tlv-account-resolution = { workspace = true } -spl-discriminator = { workspace = true } +# spl-tlv-account-resolution = { workspace = true } +# spl-discriminator = { workspace = true } +# spl-token-2022 = { workspace = true } anchor-lang = { workspace = true } -anchor-lang-29 = { workspace = true } anchor-spl = { workspace = true } pyth-sdk-solana = { workspace = true } pyth-solana-receiver-sdk = { workspace = true } pythnet-sdk = { workspace = true } -switchboard-solana = { workspace = true } +# switchboard-solana = { workspace = true } switchboard-on-demand = { workspace = true } -bytemuck = "1.9.1" -fixed = "1.12.0" -fixed-macro = "1.2.0" -lazy_static = "1.4.0" -static_assertions = "1.1.0" -type-layout = "0.2.0" +bytemuck = { workspace = true } +fixed = { workspace = true } +fixed-macro = { workspace = true } +lazy_static = { workspace = true } +type-layout = { workspace = true } +static_assertions = { workspace = true } anyhow = "1.0.66" assert_matches = "1.5.0" bincode = "1.3.3" @@ -42,15 +41,11 @@ pretty_assertions = "1.2.1" serde = { version = "1.0.197", features = ["derive"] } serde_json = "1.0.115" -[dependencies.marginfi] -path = "../programs/marginfi" -features = ["test-bpf"] +marginfi = { workspace = true, features = ["test-bpf"] } +transfer_hook = { workspace = true, package = "test_transfer_hook", features = [ + "no-entrypoint", +] } -[dependencies.transfer_hook] -path = "../programs/test_transfer_hook" -package = "test_transfer_hook" -features = ["no-entrypoint"] - -[dependencies.liquidity-incentive-program] -path = "../programs/liquidity-incentive-program" -optional = true +# [dependencies.liquidity-incentive-program] +# path = "../programs/liquidity-incentive-program" +# optional = true diff --git a/test-utils/src/bank.rs b/test-utils/src/bank.rs index 2960317f1..864e5d102 100644 --- a/test-utils/src/bank.rs +++ b/test-utils/src/bank.rs @@ -7,7 +7,6 @@ use anchor_lang::{ prelude::{AccountMeta, Pubkey}, InstructionData, ToAccountMetas, }; - use fixed::types::I80F48; use marginfi::{ bank_authority_seed, @@ -22,8 +21,6 @@ use solana_program::instruction::Instruction; use solana_program::sysvar::clock::Clock; use solana_program_test::BanksClientError; use solana_program_test::ProgramTestContext; -#[cfg(feature = "lip")] -use solana_sdk::signature::Keypair; use solana_sdk::{signer::Signer, transaction::Transaction}; use std::{cell::RefCell, fmt::Debug, rc::Rc}; @@ -146,68 +143,6 @@ impl BankFixture { Ok(()) } - #[cfg(feature = "lip")] - pub async fn try_create_campaign( - &self, - lockup_period: u64, - max_deposits: u64, - max_rewards: u64, - reward_funding_account: Pubkey, - ) -> Result { - use crate::prelude::lip::*; - - let campaign_key = Keypair::new(); - - let bank = self.load().await; - - let ix = Instruction { - program_id: liquidity_incentive_program::id(), - accounts: liquidity_incentive_program::accounts::CreateCampaign { - campaign: campaign_key.pubkey(), - campaign_reward_vault: get_reward_vault_address(campaign_key.pubkey()).0, - campaign_reward_vault_authority: get_reward_vault_authority(campaign_key.pubkey()) - .0, - asset_mint: bank.mint, - marginfi_bank: self.key, - admin: self.ctx.borrow().payer.pubkey(), - funding_account: reward_funding_account, - rent: solana_program::sysvar::rent::id(), - token_program: self.get_token_program(), - system_program: solana_program::system_program::id(), - } - .to_account_metas(Some(true)), - data: liquidity_incentive_program::instruction::CreateCampaign { - lockup_period, - max_deposits, - max_rewards, - } - .data(), - }; - - let tx = { - let ctx = self.ctx.borrow_mut(); - - Transaction::new_signed_with_payer( - &[ix], - Some(&ctx.payer.pubkey()), - &[&ctx.payer, &campaign_key], - ctx.last_blockhash, - ) - }; - - self.ctx - .borrow_mut() - .banks_client - .process_transaction(tx) - .await?; - - Ok(crate::lip::LipCampaignFixture::new( - self.ctx.clone(), - self.clone(), - campaign_key.pubkey(), - )) - } - pub async fn try_setup_emissions( &self, flags: u64, @@ -322,7 +257,7 @@ impl BankFixture { amount: u64, ) -> Result<(), BanksClientError> { let bank = self.load().await; - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let signer_pk = ctx.payer.pubkey(); let (fee_vault_authority, _) = Pubkey::find_program_address( bank_authority_seed!(BankVaultType::Fee, self.key), @@ -339,7 +274,7 @@ impl BankFixture { dst_token_account: receiving_account.key, } .to_account_metas(Some(true)); - if self.mint.token_program == spl_token_2022::ID { + if self.mint.token_program == anchor_spl::token_2022::ID { accounts.push(AccountMeta::new_readonly(self.mint.key, false)); } @@ -367,7 +302,7 @@ impl BankFixture { amount: u64, ) -> Result<(), BanksClientError> { let bank = self.load().await; - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let signer_pk = ctx.payer.pubkey(); let (insurance_vault_authority, _) = Pubkey::find_program_address( bank_authority_seed!(BankVaultType::Insurance, self.key), @@ -384,7 +319,7 @@ impl BankFixture { dst_token_account: receiving_account.key, } .to_account_metas(Some(true)); - if self.mint.token_program == spl_token_2022::ID { + if self.mint.token_program == anchor_spl::token_2022::ID { accounts.push(AccountMeta::new_readonly(self.mint.key, false)); } diff --git a/test-utils/src/lib.rs b/test-utils/src/lib.rs index 6bca22317..e44b918ed 100644 --- a/test-utils/src/lib.rs +++ b/test-utils/src/lib.rs @@ -1,11 +1,9 @@ pub mod bank; -#[cfg(feature = "lip")] -pub mod lip; pub mod marginfi_account; pub mod marginfi_group; pub mod prelude; pub mod spl; pub mod test; -// pub mod transfer_hook; pub mod utils; + pub use transfer_hook; diff --git a/test-utils/src/lip.rs b/test-utils/src/lip.rs deleted file mode 100644 index c2e22b1e7..000000000 --- a/test-utils/src/lip.rs +++ /dev/null @@ -1,159 +0,0 @@ -#![cfg(feature = "lip")] - -use crate::utils::lip::*; -use anchor_lang::AnchorDeserialize; -use anchor_lang::{ - prelude::{Pubkey, ToAccountMetas}, - InstructionData, -}; -use anyhow::Result; -use liquidity_incentive_program as lip; -use solana_program::instruction::Instruction; -use solana_program_test::{BanksClientError, ProgramTestContext}; -use solana_sdk::{signature::Keypair, signer::Signer, transaction::Transaction}; -use std::{cell::RefCell, rc::Rc}; - -use crate::bank::BankFixture; - -pub struct LipCampaignFixture { - pub key: Pubkey, - bank_f: BankFixture, - ctx: Rc>, -} - -impl LipCampaignFixture { - pub fn new(ctx: Rc>, bank_f: BankFixture, key: Pubkey) -> Self { - Self { key, bank_f, ctx } - } - - pub async fn try_create_deposit( - &self, - funding_account: Pubkey, - amount: u64, - ) -> Result { - let bank = self.bank_f.load().await; - let deposit_key = Keypair::new(); - let temp_token_account_key = Keypair::new(); - - let ix = Instruction { - program_id: lip::id(), - accounts: lip::accounts::CreateDeposit { - campaign: self.key, - signer: self.ctx.borrow().payer.pubkey(), - deposit: deposit_key.pubkey(), - mfi_pda_signer: get_deposit_mfi_authority(deposit_key.pubkey()).0, - funding_account, - temp_token_account: temp_token_account_key.pubkey(), - asset_mint: bank.mint, - marginfi_group: bank.group, - marginfi_bank: self.bank_f.key, - marginfi_account: get_marginfi_account_address(deposit_key.pubkey()).0, - marginfi_bank_vault: bank.liquidity_vault, - marginfi_program: marginfi::id(), - token_program: self.bank_f.get_token_program(), - rent: anchor_lang::solana_program::sysvar::rent::id(), - system_program: solana_program::system_program::id(), - } - .to_account_metas(Some(true)), - data: lip::instruction::CreateDeposit { amount }.data(), - }; - - let tx = Transaction::new_signed_with_payer( - &[ix], - Some(&self.ctx.borrow().payer.pubkey()), - &[ - &self.ctx.borrow().payer, - &deposit_key, - &temp_token_account_key, - ], - self.ctx.borrow().last_blockhash, - ); - - self.ctx - .borrow_mut() - .banks_client - .process_transaction(tx) - .await?; - - Ok(deposit_key.pubkey()) - } - - pub async fn try_end_deposit( - &self, - deposit_pk: Pubkey, - destination_account_address: Pubkey, - ) -> Result<()> { - let bank = self.bank_f.load().await; - let temp_token_account_key = Keypair::new(); - - let ix = Instruction { - program_id: lip::id(), - accounts: lip::accounts::EndDeposit { - campaign: self.key, - campaign_reward_vault: get_reward_vault_address(self.key).0, - campaign_reward_vault_authority: get_reward_vault_authority(self.key).0, - signer: self.ctx.borrow().payer.pubkey(), - deposit: deposit_pk, - mfi_pda_signer: get_deposit_mfi_authority(deposit_pk).0, - temp_token_account: temp_token_account_key.pubkey(), - temp_token_account_authority: get_temp_token_account_authority(deposit_pk).0, - destination_account: destination_account_address, - asset_mint: bank.mint, - marginfi_account: get_marginfi_account_address(deposit_pk).0, - marginfi_group: bank.group, - marginfi_bank: self.bank_f.key, - marginfi_bank_vault: bank.liquidity_vault, - marginfi_bank_vault_authority: self - .bank_f - .get_vault_authority(marginfi::state::marginfi_group::BankVaultType::Liquidity) - .0, - marginfi_program: marginfi::id(), - token_program: self.bank_f.get_token_program(), - system_program: solana_program::system_program::id(), - } - .to_account_metas(Some(true)), - data: lip::instruction::EndDeposit {}.data(), - }; - - let tx = Transaction::new_signed_with_payer( - &[ix], - Some(&self.ctx.borrow().payer.pubkey()), - &[&self.ctx.borrow().payer, &temp_token_account_key], - self.ctx.borrow().last_blockhash, - ); - - self.ctx - .borrow_mut() - .banks_client - .process_transaction(tx) - .await?; - - Ok(()) - } - - pub async fn load(&self) -> lip::state::Campaign { - let account = self - .ctx - .borrow_mut() - .banks_client - .get_account(self.key) - .await - .unwrap() - .unwrap(); - - lip::state::Campaign::deserialize(&mut &account.data[8..]).unwrap() - } - - pub async fn load_deposit(&self, deposit_key: Pubkey) -> lip::state::Deposit { - let account = self - .ctx - .borrow_mut() - .banks_client - .get_account(deposit_key) - .await - .unwrap() - .unwrap(); - - lip::state::Deposit::deserialize(&mut &account.data[8..]).unwrap() - } -} diff --git a/test-utils/src/marginfi_account.rs b/test-utils/src/marginfi_account.rs index 66d48b2bc..821946ac8 100644 --- a/test-utils/src/marginfi_account.rs +++ b/test-utils/src/marginfi_account.rs @@ -9,8 +9,8 @@ use marginfi::state::{ use solana_program::{instruction::Instruction, sysvar}; use solana_program_test::{BanksClientError, ProgramTestContext}; use solana_sdk::{ - compute_budget::ComputeBudgetInstruction, signature::Keypair, signer::Signer, - transaction::Transaction, + commitment_config::CommitmentLevel, compute_budget::ComputeBudgetInstruction, + signature::Keypair, signer::Signer, transaction::Transaction, }; use std::{cell::RefCell, mem, rc::Rc}; @@ -31,7 +31,7 @@ impl MarginfiAccountFixture { let account_key = Keypair::new(); { - let mut ctx = ctx.borrow_mut(); + let ctx = ctx.borrow_mut(); let accounts = marginfi::accounts::MarginfiAccountInitialize { marginfi_account: account_key.pubkey(), @@ -52,7 +52,10 @@ impl MarginfiAccountFixture { &[&ctx.payer, &account_key], ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await.unwrap(); + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await + .unwrap(); } MarginfiAccountFixture { @@ -81,7 +84,7 @@ impl MarginfiAccountFixture { token_program: bank.get_token_program(), } .to_account_metas(Some(true)); - if bank.mint.token_program == spl_token_2022::ID { + if bank.mint.token_program == anchor_spl::token_2022::ID { accounts.push(AccountMeta::new_readonly(bank.mint.key, false)); } @@ -118,7 +121,7 @@ impl MarginfiAccountFixture { .map(|acc| acc.map(|a| a.data))?) }; let payer = self.ctx.borrow_mut().payer.pubkey(); - if bank.mint.token_program == spl_token_2022::ID { + if bank.mint.token_program == anchor_spl::token_2022::ID { // TODO: do that only if hook exists println!( "[TODO] Adding extra account metas for execute for mint {:?}", @@ -137,7 +140,7 @@ impl MarginfiAccountFixture { .await; } - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &[ix], Some(&ctx.payer.pubkey().clone()), @@ -145,7 +148,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await?; + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await?; Ok(()) } @@ -170,7 +175,7 @@ impl MarginfiAccountFixture { token_program: bank.get_token_program(), } .to_account_metas(Some(true)); - if bank.mint.token_program == spl_token_2022::ID { + if bank.mint.token_program == anchor_spl::token_2022::ID { accounts.push(AccountMeta::new_readonly(bank.mint.key, false)); } @@ -208,7 +213,7 @@ impl MarginfiAccountFixture { .make_bank_withdraw_ix(destination_account, bank, ui_amount, withdraw_all) .await; - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &[ix], Some(&ctx.payer.pubkey().clone()), @@ -216,7 +221,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await?; + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await?; Ok(()) } @@ -240,7 +247,7 @@ impl MarginfiAccountFixture { token_program: bank.get_token_program(), } .to_account_metas(Some(true)); - if bank.mint.token_program == spl_token_2022::ID { + if bank.mint.token_program == anchor_spl::token_2022::ID { accounts.push(AccountMeta::new_readonly(bank.mint.key, false)); } @@ -283,7 +290,7 @@ impl MarginfiAccountFixture { .make_bank_borrow_ix(destination_account, bank, ui_amount) .await; - if bank.mint.token_program == spl_token_2022::ID { + if bank.mint.token_program == anchor_spl::token_2022::ID { let fetch_account_data_fn = |key| async move { Ok(self .ctx @@ -311,7 +318,7 @@ impl MarginfiAccountFixture { let compute_budget_ix = ComputeBudgetInstruction::set_compute_unit_limit(1_400_000); let nonce_ix = ComputeBudgetInstruction::set_compute_unit_price(nonce); - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &[compute_budget_ix, nonce_ix, ix], Some(&ctx.payer.pubkey().clone()), @@ -319,7 +326,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await?; + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await?; Ok(()) } @@ -344,7 +353,7 @@ impl MarginfiAccountFixture { token_program: bank.get_token_program(), } .to_account_metas(Some(true)); - if bank.mint.token_program == spl_token_2022::ID { + if bank.mint.token_program == anchor_spl::token_2022::ID { accounts.push(AccountMeta::new_readonly(bank.mint.key, false)); } @@ -369,7 +378,7 @@ impl MarginfiAccountFixture { let ix = self .make_bank_repay_ix(funding_account, bank, ui_amount, repay_all) .await; - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &[ix], Some(&ctx.payer.pubkey().clone()), @@ -377,7 +386,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await?; + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await?; Ok(()) } @@ -387,7 +398,7 @@ impl MarginfiAccountFixture { bank: &BankFixture, ) -> anyhow::Result<(), BanksClientError> { let marginfi_account = self.load().await; - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let ix = Instruction { program_id: marginfi::id(), @@ -408,7 +419,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await?; + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await?; Ok(()) } @@ -441,7 +454,7 @@ impl MarginfiAccountFixture { } .to_account_metas(Some(true)); - if liab_bank_fixture.mint.token_program == spl_token_2022::ID { + if liab_bank_fixture.mint.token_program == anchor_spl::token_2022::ID { accounts.push(AccountMeta::new_readonly(liab_bank_fixture.mint.key, false)); } @@ -476,7 +489,7 @@ impl MarginfiAccountFixture { .data(), }; - if liab_bank_fixture.mint.token_program == spl_token_2022::ID { + if liab_bank_fixture.mint.token_program == anchor_spl::token_2022::ID { let payer = self.ctx.borrow().payer.pubkey(); let fetch_account_data_fn = |key| async move { Ok(self @@ -518,7 +531,7 @@ impl MarginfiAccountFixture { let compute_budget_ix = ComputeBudgetInstruction::set_compute_unit_limit(1_400_000); - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &[compute_budget_ix, ix], Some(&ctx.payer.pubkey().clone()), @@ -526,7 +539,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await } pub async fn try_withdraw_emissions( @@ -552,7 +567,7 @@ impl MarginfiAccountFixture { data: marginfi::instruction::LendingAccountWithdrawEmissions {}.data(), }; - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &[ix], Some(&ctx.payer.pubkey().clone()), @@ -560,7 +575,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await } /// Set a flag on the account @@ -578,7 +595,7 @@ impl MarginfiAccountFixture { data: marginfi::instruction::SetAccountFlag { flag }.data(), }; - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &[ix], Some(&ctx.payer.pubkey().clone()), @@ -586,7 +603,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await } /// Unset a flag on the account @@ -604,7 +623,7 @@ impl MarginfiAccountFixture { data: marginfi::instruction::UnsetAccountFlag { flag }.data(), }; - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &[ix], Some(&ctx.payer.pubkey().clone()), @@ -612,7 +631,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await } pub async fn make_lending_account_start_flashloan_ix(&self, end_index: u64) -> Instruction { @@ -670,7 +691,7 @@ impl MarginfiAccountFixture { ixs.insert(0, start_ix); ixs.push(end_ix); - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &ixs, @@ -679,7 +700,9 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await } pub async fn load_observation_account_metas( @@ -815,8 +838,10 @@ impl MarginfiAccountFixture { let tx = self .build_transfer_authority_tx(new_authority, signer_keypair) .await; - let mut ctx = self.ctx.borrow_mut(); - ctx.banks_client.process_transaction(tx).await + let ctx = self.ctx.borrow_mut(); + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await } /// Use the client to get the transfer ix authority transaction @@ -832,7 +857,7 @@ impl MarginfiAccountFixture { } pub async fn try_close_account(&self, nonce: u64) -> std::result::Result<(), BanksClientError> { - let mut ctx: std::cell::RefMut = self.ctx.borrow_mut(); + let ctx: std::cell::RefMut = self.ctx.borrow_mut(); let ix = Instruction { program_id: marginfi::id(), @@ -852,6 +877,8 @@ impl MarginfiAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await } } diff --git a/test-utils/src/marginfi_group.rs b/test-utils/src/marginfi_group.rs index 564da0332..e386fcb34 100644 --- a/test-utils/src/marginfi_group.rs +++ b/test-utils/src/marginfi_group.rs @@ -462,7 +462,7 @@ impl MarginfiGroupFixture { } pub async fn try_accrue_interest(&self, bank: &BankFixture) -> Result<()> { - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let ix = Instruction { program_id: marginfi::id(), @@ -524,7 +524,7 @@ impl MarginfiGroupFixture { } pub async fn try_collect_fees(&self, bank: &BankFixture) -> Result<()> { - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let fee_ata = get_associated_token_address_with_program_id( &self.fee_wallet, @@ -544,7 +544,7 @@ impl MarginfiGroupFixture { fee_ata, } .to_account_metas(Some(true)); - if bank.mint.token_program == spl_token_2022::ID { + if bank.mint.token_program == anchor_spl::token_2022::ID { accounts.push(AccountMeta::new_readonly(bank.mint.key, false)); } @@ -592,7 +592,7 @@ impl MarginfiGroupFixture { token_program: bank.get_token_program(), } .to_account_metas(Some(true)); - if bank.mint.token_program == spl_token_2022::ID { + if bank.mint.token_program == anchor_spl::token_2022::ID { accounts.push(AccountMeta::new_readonly(bank.mint.key, false)); } @@ -602,7 +602,7 @@ impl MarginfiGroupFixture { .await, ); - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let ix = Instruction { program_id: marginfi::id(), diff --git a/test-utils/src/spl.rs b/test-utils/src/spl.rs index 01346e0a0..9ef40b783 100644 --- a/test-utils/src/spl.rs +++ b/test-utils/src/spl.rs @@ -1,4 +1,4 @@ -use crate::{transfer_hook::TEST_HOOK_ID, ui_to_native}; +use crate::ui_to_native; use anchor_lang::prelude::*; use anchor_spl::{ associated_token::{ @@ -24,6 +24,7 @@ use solana_cli_output::CliAccount; use solana_program_test::ProgramTestContext; use solana_sdk::{ account::{AccountSharedData, ReadableAccount, WritableAccount}, + commitment_config::CommitmentLevel, instruction::Instruction, native_token::LAMPORTS_PER_SOL, program_pack::{Pack, Sealed}, @@ -36,6 +37,7 @@ use spl_transfer_hook_interface::{ get_extra_account_metas_address, instruction::initialize_extra_account_meta_list, }; use std::{cell::RefCell, fs::File, io::Read, path::PathBuf, rc::Rc, str::FromStr}; +use transfer_hook::TEST_HOOK_ID; #[derive(Clone)] pub struct MintFixture { @@ -54,7 +56,7 @@ impl MintFixture { let ctx_ref = Rc::clone(&ctx); let keypair = mint_keypair.unwrap_or_else(Keypair::new); let mint = { - let mut ctx = ctx.borrow_mut(); + let ctx = ctx.borrow_mut(); let rent = ctx.banks_client.get_rent().await.unwrap(); @@ -81,7 +83,10 @@ impl MintFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await.unwrap(); + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await + .unwrap(); let mint_account = ctx .banks_client @@ -111,7 +116,7 @@ impl MintFixture { let keypair = mint_keypair.unwrap_or_else(Keypair::new); let program = token_2022::ID; let mint = { - let mut ctx = ctx.borrow_mut(); + let ctx = ctx.borrow_mut(); let rent = ctx.banks_client.get_rent().await.unwrap(); @@ -169,7 +174,10 @@ impl MintFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await.unwrap(); + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await + .unwrap(); if extensions.contains(&SupportedExtension::TransferHook) { ctx.banks_client @@ -277,7 +285,7 @@ impl MintFixture { self.ctx .borrow_mut() .banks_client - .process_transaction(tx) + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) .await .unwrap(); @@ -319,7 +327,7 @@ impl MintFixture { ui_to_native!(ui_amount.into(), self.mint.decimals), ); - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let tx = Transaction::new_signed_with_payer( &[mint_to_ix], @@ -328,7 +336,10 @@ impl MintFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await.unwrap(); + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await + .unwrap(); token_account_f } @@ -426,7 +437,7 @@ impl TokenAccountFixture { pub async fn new_account(&self) -> Pubkey { let keypair = Keypair::new(); - let mut ctx = self.ctx.borrow_mut(); + let ctx = self.ctx.borrow_mut(); let ixs = Self::create_ixs( &self.ctx, @@ -446,7 +457,10 @@ impl TokenAccountFixture { ctx.last_blockhash, ); - ctx.banks_client.process_transaction(tx).await.unwrap(); + ctx.banks_client + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) + .await + .unwrap(); keypair.pubkey() } @@ -486,12 +500,12 @@ impl TokenAccountFixture { ctx.borrow_mut() .banks_client - .process_transaction(tx) + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) .await .unwrap(); } - let mut ctx = ctx.borrow_mut(); + let ctx = ctx.borrow_mut(); let account = ctx .banks_client .get_account(keypair.pubkey()) @@ -536,13 +550,13 @@ impl TokenAccountFixture { ctx.borrow_mut() .banks_client - .process_transaction(tx) + .process_transaction_with_preflight_and_commitment(tx, CommitmentLevel::Confirmed) .await .unwrap(); } // Now retrieve the account info for the newly created ATA - let mut ctx = ctx.borrow_mut(); + let ctx = ctx.borrow_mut(); let account = ctx .banks_client .get_account(ata_address) @@ -615,7 +629,7 @@ pub async fn get_and_deserialize( ctx: Rc>, pubkey: Pubkey, ) -> T { - let mut ctx = ctx.borrow_mut(); + let ctx = ctx.borrow_mut(); let account = ctx.banks_client.get_account(pubkey).await.unwrap().unwrap(); T::try_deserialize(&mut account.data.as_slice()).unwrap() @@ -624,7 +638,7 @@ pub async fn get_and_deserialize_t22( ctx: Rc>, pubkey: Pubkey, ) -> T { - let mut ctx = ctx.borrow_mut(); + let ctx = ctx.borrow_mut(); let account = ctx.banks_client.get_account(pubkey).await.unwrap().unwrap(); StateWithExtensionsOwned::::unpack(account.data) diff --git a/test-utils/src/test.rs b/test-utils/src/test.rs index ce4b1f79b..87428ee3e 100644 --- a/test-utils/src/test.rs +++ b/test-utils/src/test.rs @@ -37,18 +37,10 @@ impl TestSettings { mint: BankMint::Usdc, ..TestBankSetting::default() }, - TestBankSetting { - mint: BankMint::UsdcSwb, - ..TestBankSetting::default() - }, TestBankSetting { mint: BankMint::Sol, ..TestBankSetting::default() }, - TestBankSetting { - mint: BankMint::SolSwb, - ..TestBankSetting::default() - }, TestBankSetting { mint: BankMint::SolSwbPull, ..TestBankSetting::default() @@ -81,23 +73,6 @@ impl TestSettings { } } - /// All banks with the same config, but USDC and SOL are using switchboard price oracls - pub fn all_banks_swb_payer_not_admin() -> Self { - Self { - banks: vec![ - TestBankSetting { - mint: BankMint::Usdc, - config: Some(*DEFAULT_USDC_TEST_SW_BANK_CONFIG), - }, - TestBankSetting { - mint: BankMint::Sol, - config: Some(*DEFAULT_SOL_TEST_SW_BANK_CONFIG), - }, - ], - protocol_fees: false, - } - } - pub fn all_banks_one_isolated() -> Self { Self { banks: vec![ @@ -181,9 +156,7 @@ pub struct TestBankSetting { #[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Hash)] pub enum BankMint { Usdc, - UsdcSwb, Sol, - SolSwb, SolSwbPull, SolSwbOrigFee, SolEquivalent, @@ -346,20 +319,6 @@ lazy_static! { oracle_keys: create_oracle_key_array(PYTH_MNDE_FEED), ..*DEFAULT_TEST_BANK_CONFIG }; - pub static ref DEFAULT_USDC_TEST_SW_BANK_CONFIG: BankConfig = BankConfig { - oracle_setup: OracleSetup::SwitchboardV2, - deposit_limit: native!(1_000_000_000, "USDC"), - borrow_limit: native!(1_000_000_000, "USDC"), - oracle_keys: create_oracle_key_array(SWITCHBOARD_USDC_FEED), - ..*DEFAULT_TEST_BANK_CONFIG - }; - pub static ref DEFAULT_SOL_TEST_SW_BANK_CONFIG: BankConfig = BankConfig { - oracle_setup: OracleSetup::SwitchboardV2, - deposit_limit: native!(1_000_000, "SOL"), - borrow_limit: native!(1_000_000, "SOL"), - oracle_keys: create_oracle_key_array(SWITCHBOARD_SOL_FEED), - ..*DEFAULT_TEST_BANK_CONFIG - }; pub static ref DEFAULT_SOL_TEST_PYTH_PUSH_FULLV_BANK_CONFIG: BankConfig = BankConfig { oracle_setup: OracleSetup::PythPushOracle, deposit_limit: native!(1_000_000, "SOL"), @@ -424,17 +383,12 @@ pub const T22_WITH_FEE_MINT_DECIMALS: u8 = 6; pub const SOL_MINT_DECIMALS: u8 = 9; pub const MNDE_MINT_DECIMALS: u8 = 9; -pub fn marginfi_entry(program_id: &Pubkey, accounts: &[AccountInfo], data: &[u8]) -> ProgramResult { - marginfi::entry(program_id, unsafe { core::mem::transmute(accounts) }, data) -} - -#[cfg(feature = "lip")] -pub fn lip_entry<'a, 'b, 'c, 'info>( - program_id: &'a Pubkey, - accounts: &'b [AccountInfo<'info>], - data: &'c [u8], +pub fn marginfi_entry<'info>( + program_id: &Pubkey, + accounts: &'info [AccountInfo<'info>], + data: &[u8], ) -> ProgramResult { - liquidity_incentive_program::entry(program_id, unsafe { core::mem::transmute(accounts) }, data) + marginfi::entry(program_id, accounts, data) } impl TestFixture { @@ -453,12 +407,6 @@ impl TestFixture { program.prefer_bpf(true); program.add_program("marginfi", marginfi::ID, None); program.add_program("test_transfer_hook", TEST_HOOK_ID, None); - #[cfg(feature = "lip")] - program.add_program( - "liquidity_incentive_program", - liquidity_incentive_program::ID, - None, - ); let usdc_keypair = Keypair::new(); let pyusd_keypair = Keypair::new(); @@ -524,14 +472,6 @@ impl TestFixture { ), // create_pyth_price_account(mnde_keypair.pubkey(), 10.0, MNDE_MINT_DECIMALS.into(), None), ); - program.add_account( - SWITCHBOARD_USDC_FEED, - create_switchboard_price_feed(1, USDC_MINT_DECIMALS.into()), - ); - program.add_account( - SWITCHBOARD_SOL_FEED, - create_switchboard_price_feed(10, SOL_MINT_DECIMALS.into()), - ); program.add_account( PYTH_PUSH_SOL_FULLV_FEED, create_pyth_push_oracle_account( @@ -583,7 +523,7 @@ impl TestFixture { let context = Rc::new(RefCell::new(program.start_with_context().await)); { - let mut ctx = context.borrow_mut(); + let ctx = context.borrow_mut(); let mut clock: Clock = ctx.banks_client.get_sysvar().await.unwrap(); clock.unix_timestamp = 0; ctx.set_sysvar(&clock); @@ -643,9 +583,7 @@ impl TestFixture { for bank in test_settings.banks.iter() { let (bank_mint, default_config) = match bank.mint { BankMint::Usdc => (&usdc_mint_f, *DEFAULT_USDC_TEST_BANK_CONFIG), - BankMint::UsdcSwb => (&usdc_mint_f, *DEFAULT_USDC_TEST_SW_BANK_CONFIG), BankMint::Sol => (&sol_mint_f, *DEFAULT_SOL_TEST_BANK_CONFIG), - BankMint::SolSwb => (&sol_mint_f, *DEFAULT_SOL_TEST_SW_BANK_CONFIG), BankMint::SolSwbPull => { (&sol_mint_f, *DEFAULT_SB_PULL_SOL_TEST_REAL_BANK_CONFIG) } @@ -897,10 +835,9 @@ pub fn get_mint_price(mint: BankMint) -> f64 { // For the T22 with fee variant, it's 50 cents BankMint::T22WithFee => 0.5, // For USDC-based and PYUSD mints, the price is roughly 1.0. - BankMint::Usdc | BankMint::UsdcSwb | BankMint::UsdcT22 | BankMint::PyUSD => 1.0, + BankMint::Usdc | BankMint::UsdcT22 | BankMint::PyUSD => 1.0, // For SOL and its equivalents, use the SOL price (here, roughly 10.0). BankMint::Sol - | BankMint::SolSwb | BankMint::SolSwbPull | BankMint::SolSwbOrigFee | BankMint::SolEquivalent diff --git a/test-utils/src/utils.rs b/test-utils/src/utils.rs index 55fe248ff..f77490fe9 100644 --- a/test-utils/src/utils.rs +++ b/test-utils/src/utils.rs @@ -1,5 +1,6 @@ use anchor_lang::prelude::*; -use anchor_lang_29::Discriminator; +use anchor_lang::solana_program::instruction::Instruction; +use anchor_lang::Discriminator; use anchor_spl::token_2022::spl_token_2022::extension::transfer_fee::MAX_FEE_BASIS_POINTS; use marginfi::constants::PYTH_ID; use marginfi::constants::SWITCHBOARD_PULL_ID; @@ -9,15 +10,9 @@ use pyth_sdk_solana::state::{ use pyth_solana_receiver_sdk::price_update::FeedId; use pyth_solana_receiver_sdk::price_update::PriceUpdateV2; use pyth_solana_receiver_sdk::price_update::VerificationLevel; -use solana_program::{instruction::Instruction, pubkey}; use solana_program_test::*; use solana_sdk::{account::Account, signature::Keypair}; -use std::mem::size_of; use std::{cell::RefCell, rc::Rc}; -use switchboard_solana::{ - AggregatorAccountData, AggregatorResolutionMode, AggregatorRound, SwitchboardDecimal, - SWITCHBOARD_PROGRAM_ID, -}; pub const MS_PER_SLOT: u64 = 400; pub const RUST_LOG_DEFAULT: &str = "solana_rbpf::vm=info,\ @@ -140,7 +135,7 @@ pub fn create_pyth_push_oracle_account( let mut data = vec![]; let mut account_data = vec![]; - data.extend_from_slice(&PriceUpdateV2::DISCRIMINATOR); + data.extend_from_slice(PriceUpdateV2::DISCRIMINATOR); price_update.serialize(&mut account_data).unwrap(); @@ -159,288 +154,29 @@ pub fn create_switch_pull_oracle_account_from_bytes(data: Vec) -> Account { } } -pub fn create_switchboard_price_feed(ui_price: i64, mint_decimals: i32) -> Account { - let native_price = ui_price * 10_i64.pow(mint_decimals as u32); - let aggregator_account = switchboard_solana::AggregatorAccountData { - name: [0; 32], - metadata: [0; 128], - _reserved1: [0; 32], - queue_pubkey: Pubkey::default(), - oracle_request_batch_size: 4, - min_oracle_results: 2, - min_job_results: 1, - min_update_delay_seconds: 6, - start_after: 0, - variance_threshold: SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - force_report_period: 0, - expiration: 0, - consecutive_failure_count: 0, - next_allowed_update_time: 1682220588, - is_locked: false, - crank_pubkey: Pubkey::default(), - latest_confirmed_round: AggregatorRound { - num_success: 4, - num_error: 0, - is_closed: true, - round_open_slot: 189963416, - round_open_timestamp: 1682220573, - result: SwitchboardDecimal { - mantissa: native_price as i128, - scale: mint_decimals as u32, - }, - std_deviation: SwitchboardDecimal { - mantissa: 13942937500000000000000000, - scale: 28, - }, - min_response: SwitchboardDecimal { - mantissa: 2175243675, - scale: 8, - }, - max_response: SwitchboardDecimal { - mantissa: 21763, - scale: 3, - }, - oracle_pubkeys_data: [Pubkey::default(); 16], - medians_data: [ - SwitchboardDecimal { - mantissa: 21757, - scale: 3, - }, - SwitchboardDecimal { - mantissa: 21757, - scale: 3, - }, - SwitchboardDecimal { - mantissa: 21757, - scale: 3, - }, - SwitchboardDecimal { - mantissa: 217597885875, - scale: 10, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - ], - current_payout: [12500, 12500, 0, 12500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - medians_fulfilled: [ - true, true, true, true, false, false, false, false, false, false, false, false, - false, false, false, false, - ], - errors_fulfilled: [ - false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, - ], - }, - current_round: AggregatorRound { - num_success: 0, - num_error: 0, - is_closed: false, - round_open_slot: 189963432, - round_open_timestamp: 1682220581, - result: SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - std_deviation: SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - min_response: SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - max_response: SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - oracle_pubkeys_data: [Pubkey::default(); 16], - medians_data: [ - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - SwitchboardDecimal { - mantissa: 0, - scale: 0, - }, - ], - current_payout: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - medians_fulfilled: [ - false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, - ], - errors_fulfilled: [ - false, false, false, false, false, false, false, false, false, false, false, false, - false, false, false, false, - ], - }, - job_pubkeys_data: [Pubkey::default(); 16], - job_hashes: [switchboard_solana::Hash::default(); 16], - job_pubkeys_size: 5, - jobs_checksum: [ - 119, 207, 222, 177, 160, 127, 254, 198, 132, 153, 111, 54, 202, 89, 87, 81, 75, 152, - 67, 132, 249, 111, 216, 90, 132, 22, 198, 45, 67, 233, 50, 225, - ], - authority: pubkey!("GvDMxPzN1sCj7L26YDK2HnMRXEQmQ2aemov8YBtPS7vR"), - history_buffer: pubkey!("E3cqnoFvTeKKNsGmC8YitpMjo2E39hwfoyt2Aiem7dCb"), - previous_confirmed_round_result: SwitchboardDecimal { - mantissa: 21757, - scale: 3, - }, - previous_confirmed_round_slot: 189963416, - disable_crank: false, - job_weights: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - creation_timestamp: 0, - resolution_mode: AggregatorResolutionMode::ModeRoundResolution, - _ebuf: [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, - 0, - //0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - // 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - ], - ..Default::default() // base_priority_fee: todo!(), - // priority_fee_bump: todo!(), - // priority_fee_bump_period: todo!(), - // max_priority_fee_multiplier: todo!(), - // parent_function: todo!(), - }; - - let desc_bytes = - ::DISCRIMINATOR; - let mut data = vec![0u8; 8 + size_of::()]; - data[..8].copy_from_slice(&desc_bytes); - data[8..].copy_from_slice(bytemuck::bytes_of(&aggregator_account)); - - Account { - lamports: 10000, - data, - owner: SWITCHBOARD_PROGRAM_ID, - executable: false, - rent_epoch: 0, - } -} - #[macro_export] macro_rules! assert_custom_error { ($error:expr, $matcher:expr) => { match $error { + // direct transaction error solana_program_test::BanksClientError::TransactionError( solana_sdk::transaction::TransactionError::InstructionError( _, - solana_program::instruction::InstructionError::Custom(n), + anchor_lang::solana_program::instruction::InstructionError::Custom(n), ), - ) => { - assert_eq!(n, anchor_lang::error::ERROR_CODE_OFFSET + $matcher as u32) + ) + // simulation (preflight) error + | solana_program_test::BanksClientError::SimulationError { + err: solana_sdk::transaction::TransactionError::InstructionError( + _, + anchor_lang::solana_program::instruction::InstructionError::Custom(n), + ), + .. + } => { + let expected = anchor_lang::error::ERROR_CODE_OFFSET + $matcher as u32; + assert_eq!(n, expected); } - _ => assert!(false), + other => panic!("expected custom error, got {:?}", other), } }; } @@ -449,15 +185,24 @@ macro_rules! assert_custom_error { macro_rules! assert_anchor_error { ($error:expr, $matcher:expr) => { match $error { + // direct transaction error solana_program_test::BanksClientError::TransactionError( solana_sdk::transaction::TransactionError::InstructionError( _, - solana_program::instruction::InstructionError::Custom(n), + anchor_lang::solana_program::instruction::InstructionError::Custom(n), ), - ) => { - assert_eq!(n, $matcher as u32) + ) + // simulation (preflight) failure + | solana_program_test::BanksClientError::SimulationError { + err: solana_sdk::transaction::TransactionError::InstructionError( + _, + anchor_lang::solana_program::instruction::InstructionError::Custom(n), + ), + .. + } => { + assert_eq!(n, $matcher as u32); } - _ => assert!(false), + other => panic!("expected anchor error {:?}, got {:?}", $matcher, other), } }; } @@ -657,57 +402,3 @@ pub fn get_sufficient_collateral_for_outflow( ) -> f64 { target_outflow * outflow_mint_price / collateral_mint_price } - -#[cfg(feature = "lip")] -pub mod lip { - use super::*; - pub fn get_reward_vault_address(campaign_key: Pubkey) -> (Pubkey, u8) { - Pubkey::find_program_address( - &[ - liquidity_incentive_program::constants::CAMPAIGN_SEED.as_bytes(), - campaign_key.as_ref(), - ], - &liquidity_incentive_program::id(), - ) - } - - pub fn get_reward_vault_authority(campaign_key: Pubkey) -> (Pubkey, u8) { - Pubkey::find_program_address( - &[ - liquidity_incentive_program::constants::CAMPAIGN_AUTH_SEED.as_bytes(), - campaign_key.as_ref(), - ], - &liquidity_incentive_program::id(), - ) - } - - pub fn get_temp_token_account_authority(deposit_key: Pubkey) -> (Pubkey, u8) { - Pubkey::find_program_address( - &[ - liquidity_incentive_program::constants::TEMP_TOKEN_ACCOUNT_AUTH_SEED.as_bytes(), - deposit_key.as_ref(), - ], - &liquidity_incentive_program::id(), - ) - } - - pub fn get_deposit_mfi_authority(deposit_key: Pubkey) -> (Pubkey, u8) { - Pubkey::find_program_address( - &[ - liquidity_incentive_program::constants::DEPOSIT_MFI_AUTH_SIGNER_SEED.as_bytes(), - deposit_key.as_ref(), - ], - &liquidity_incentive_program::id(), - ) - } - - pub fn get_marginfi_account_address(deposit_key: Pubkey) -> (Pubkey, u8) { - Pubkey::find_program_address( - &[ - liquidity_incentive_program::constants::MARGINFI_ACCOUNT_SEED.as_bytes(), - deposit_key.as_ref(), - ], - &liquidity_incentive_program::id(), - ) - } -} diff --git a/tests/04_configureBank.spec.ts b/tests/04_configureBank.spec.ts index a9673d9cb..1aa40411a 100644 --- a/tests/04_configureBank.spec.ts +++ b/tests/04_configureBank.spec.ts @@ -150,12 +150,12 @@ describe("Lending pool configure bank", () => { new Transaction().add( await configureBankOracle(groupAdmin.mrgnProgram, { bank: bankKey, - type: 2, + type: 3, oracle: oracles.tokenAOracle.publicKey, }) ) ); - }, "InternalLogicError"); + }, "PythPushInvalidAccount"); await expectFailedTxWithMessage(async () => { await groupAdmin.mrgnProgram.provider.sendAndConfirm!( diff --git a/tests/e04_emodeLiquidation.spec.ts b/tests/e04_emodeLiquidation.spec.ts index 1c0155b56..86b198ab4 100644 --- a/tests/e04_emodeLiquidation.spec.ts +++ b/tests/e04_emodeLiquidation.spec.ts @@ -49,9 +49,9 @@ import { repayIx, } from "./utils/user-instructions"; import { configBankEmode } from "./utils/group-instructions"; +import { dumpBankrunLogs } from "./utils/tools"; import { assert } from "chai"; import { bytesToF64 } from "./utils/tools"; -import { dumpBankrunLogs } from "./utils/tools"; const seed = new BN(EMODE_SEED); let usdcBank: PublicKey; diff --git a/tests/utils/user-instructions.ts b/tests/utils/user-instructions.ts index 7e19cd9eb..ec5711dbd 100644 --- a/tests/utils/user-instructions.ts +++ b/tests/utils/user-instructions.ts @@ -2,7 +2,6 @@ import { BN, Program } from "@coral-xyz/anchor"; import { AccountMeta, PublicKey } from "@solana/web3.js"; import { Marginfi } from "../../target/types/marginfi"; import { TOKEN_PROGRAM_ID } from "@solana/spl-token"; -import { deriveLiquidityVault } from "./pdas"; export type AccountInitArgs = { marginfiGroup: PublicKey; @@ -360,11 +359,6 @@ export const liquidateIx = ( args: LiquidateIxArgs ) => { const oracleMeta: AccountMeta[] = args.remaining.map((pubkey) => { - if (!(pubkey instanceof PublicKey)) { - console.error("Invalid remaining key:", pubkey); - throw new Error("remaining contains invalid keys"); - } - return { pubkey, isSigner: false, isWritable: false }; }); @@ -402,11 +396,6 @@ export const healthPulse = ( args: HealthPulseArgs ) => { const oracleMeta: AccountMeta[] = args.remaining.map((pubkey) => { - if (!(pubkey instanceof PublicKey)) { - console.error("Invalid remaining key:", pubkey); - throw new Error("remaining contains invalid keys"); - } - return { pubkey, isSigner: false, isWritable: false }; }); diff --git a/tsconfig.json b/tsconfig.json index 7c4018468..17668ee17 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,5 +7,10 @@ "target": "ES2022", "esModuleInterop": true, "sourceMap": true, + + "baseUrl": ".", + "paths": { + "@solana/web3.js": ["node_modules/@solana/web3.js"] + } } } diff --git a/yarn.lock b/yarn.lock index f4362e60c..4d808ca96 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,64 +2,75 @@ # yarn lockfile v1 -"@babel/runtime@^7.12.5", "@babel/runtime@^7.25.0": +"@babel/runtime@^7.10.5", "@babel/runtime@^7.12.5": + version "7.27.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.0.tgz#fbee7cf97c709518ecc1f590984481d5460d4762" + integrity sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw== + dependencies: + regenerator-runtime "^0.14.0" + +"@babel/runtime@^7.25.0": version "7.26.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== dependencies: regenerator-runtime "^0.14.0" -"@brokerloop/ttlcache@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@brokerloop/ttlcache/-/ttlcache-3.2.3.tgz#bc3c79bb381f7b43f83745eb96e86673f75d3d11" - integrity sha512-kZWoyJGBYTv1cL5oHBYEixlJysJBf2RVnub3gbclD+dwaW9aKubbHzbZ9q1q6bONosxaOqMsoBorOrZKzBDiqg== - dependencies: - "@soncodi/signal" "~2.0.7" +"@common.js/quick-lru@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@common.js/quick-lru/-/quick-lru-7.0.0.tgz#1885393f1aa3f570bfacbdfa41a366da8c4fe025" + integrity sha512-DO3vApnH1vLizdWRSqzhg+S956vptHhtO+vw6PP6StJGDtaAGyfKSSPPGYWguJZu/Jlti6l6m6jB8NrKEQexLg== -"@coral-xyz/anchor-30@npm:@coral-xyz/anchor@0.30.1": +"@coral-xyz/anchor-errors@^0.30.1": version "0.30.1" - resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.30.1.tgz#17f3e9134c28cd0ea83574c6bab4e410bcecec5d" - integrity sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ== + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor-errors/-/anchor-errors-0.30.1.tgz#bdfd3a353131345244546876eb4afc0e125bec30" + integrity sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ== + +"@coral-xyz/anchor-errors@^0.31.0": + version "0.31.0" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor-errors/-/anchor-errors-0.31.0.tgz#dfc7329fca152b598842f68175efe5000825b51b" + integrity sha512-SUERksFSQ+4F11hkROIwHq4mcoSMXJxwVWLoklefi4dU679zVWFVcTq6O7otvjY8wlUaRXeE+iYcQWZTw2ll6w== + +"@coral-xyz/anchor-errors@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor-errors/-/anchor-errors-0.31.1.tgz#d635cbac2533973ae6bfb5d3ba1de89ce5aece2d" + integrity sha512-NhNEku4F3zzUSBtrYz84FzYWm48+9OvmT1Hhnwr6GnPQry2dsEqH/ti/7ASjjpoFTWRnPXrjAIT1qM6Isop+LQ== + +"@coral-xyz/anchor@0.31.0": + version "0.31.0" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.31.0.tgz#76b84541e6fdfbd6c661584cdc418453a6416f12" + integrity sha512-Yb1NwP1s4cWhAw7wL7vOLHSWWw3cD5D9pRCVSeJpdqPaI+w7sfRLScnVJL6ViYMZynB7nAG/5HcUPKUnY0L9rw== dependencies: - "@coral-xyz/anchor-errors" "^0.30.1" - "@coral-xyz/borsh" "^0.30.1" + "@coral-xyz/anchor-errors" "^0.31.0" + "@coral-xyz/borsh" "^0.31.0" "@noble/hashes" "^1.3.1" - "@solana/web3.js" "^1.68.0" + "@solana/web3.js" "^1.69.0" bn.js "^5.1.2" bs58 "^4.0.1" buffer-layout "^1.2.2" camelcase "^6.3.0" cross-fetch "^3.1.5" - crypto-hash "^1.3.0" eventemitter3 "^4.0.7" pako "^2.0.3" - snake-case "^3.0.4" superstruct "^0.15.4" toml "^3.0.0" -"@coral-xyz/anchor-errors@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@coral-xyz/anchor-errors/-/anchor-errors-0.30.1.tgz#bdfd3a353131345244546876eb4afc0e125bec30" - integrity sha512-9Mkradf5yS5xiLWrl9WrpjqOrAV+/W2RQHDlbnAZBivoGpOs1ECjoDCkVk4aRG8ZdiFiB8zQEVlxf+8fKkmSfQ== - -"@coral-xyz/anchor@=0.30.1", "@coral-xyz/anchor@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.30.1.tgz#17f3e9134c28cd0ea83574c6bab4e410bcecec5d" - integrity sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ== +"@coral-xyz/anchor@=0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.31.1.tgz#0fdeebf45a3cb2e47e8ebbb815ca98542152962c" + integrity sha512-QUqpoEK+gi2S6nlYc2atgT2r41TT3caWr/cPUEL8n8Md9437trZ68STknq897b82p5mW0XrTBNOzRbmIRJtfsA== dependencies: - "@coral-xyz/anchor-errors" "^0.30.1" - "@coral-xyz/borsh" "^0.30.1" + "@coral-xyz/anchor-errors" "^0.31.1" + "@coral-xyz/borsh" "^0.31.1" "@noble/hashes" "^1.3.1" - "@solana/web3.js" "^1.68.0" + "@solana/web3.js" "^1.69.0" bn.js "^5.1.2" bs58 "^4.0.1" buffer-layout "^1.2.2" camelcase "^6.3.0" cross-fetch "^3.1.5" - crypto-hash "^1.3.0" eventemitter3 "^4.0.7" pako "^2.0.3" - snake-case "^3.0.4" superstruct "^0.15.4" toml "^3.0.0" @@ -83,6 +94,27 @@ superstruct "^0.15.4" toml "^3.0.0" +"@coral-xyz/anchor@^0.30.1": + version "0.30.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.30.1.tgz#17f3e9134c28cd0ea83574c6bab4e410bcecec5d" + integrity sha512-gDXFoF5oHgpriXAaLpxyWBHdCs8Awgf/gLHIo6crv7Aqm937CNdY+x+6hoj7QR5vaJV7MxWSQ0NGFzL3kPbWEQ== + dependencies: + "@coral-xyz/anchor-errors" "^0.30.1" + "@coral-xyz/borsh" "^0.30.1" + "@noble/hashes" "^1.3.1" + "@solana/web3.js" "^1.68.0" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.2" + camelcase "^6.3.0" + cross-fetch "^3.1.5" + crypto-hash "^1.3.0" + eventemitter3 "^4.0.7" + pako "^2.0.3" + snake-case "^3.0.4" + superstruct "^0.15.4" + toml "^3.0.0" + "@coral-xyz/borsh@^0.29.0": version "0.29.0" resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.29.0.tgz#79f7045df2ef66da8006d47f5399c7190363e71f" @@ -99,12 +131,28 @@ bn.js "^5.1.2" buffer-layout "^1.2.0" -"@coral-xyz/spl-token@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@coral-xyz/spl-token/-/spl-token-0.30.1.tgz#05223b2416fe46452777d3217a99cbe3fa2ff98b" - integrity sha512-3YGSkGergnfjr4FyWAiZxPdZbI+cIrGl407W/L541WtKUlNWykKgQlIpXvBctGeZ3s5QpiCr8KBY1Z8dblwCmQ== +"@coral-xyz/borsh@^0.31.0": + version "0.31.0" + resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.31.0.tgz#eb77239b75f3ea9e771b1ee0821712caf664cb32" + integrity sha512-DwdQ5fuj+rGQCTKRnxnW1W2lvcpBaFc9m9M1TcGGlm+bwCcggmDgbLKLgF+LjIrKnc7Nd+bCACx5RA9YTK2I4Q== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + +"@coral-xyz/borsh@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.31.1.tgz#5328e1e0921b75d7f4a62dd3f61885a938bc7241" + integrity sha512-9N8AU9F0ubriKfNE3g1WF0/4dtlGXoBN/hd1PvbNBamBNwRgHxH4P+o3Zt7rSEloW1HUs6LfZEchlx9fW7POYw== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + +"@coral-xyz/spl-token@^0.31.1": + version "0.31.1" + resolved "https://registry.yarnpkg.com/@coral-xyz/spl-token/-/spl-token-0.31.1.tgz#d8f51dc45884e22a46ce721ebaab08aa7e690bb0" + integrity sha512-DqDbXNH87YtBvDXMd+FDK+K/EOZ8F83JU/VPt42KwoT8i56YBXwinffUfbefkV8j3/kSHCD6TTR+2B9F0IddxA== dependencies: - "@coral-xyz/anchor" "=0.30.1" + "@coral-xyz/anchor" "=0.31.1" "@native-to-anchor/buffer-layout" "=0.1.0" "@cspotcode/source-map-support@^0.8.0": @@ -197,29 +245,33 @@ "@metaplex-foundation/umi-serializers-encodings" "^0.8.9" "@metaplex-foundation/umi-serializers-numbers" "^0.8.9" -"@mrgnlabs/marginfi-client-v2@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@mrgnlabs/marginfi-client-v2/-/marginfi-client-v2-4.0.0.tgz#50676767dc9a06b5ffaccb25f3dc8f7a24b6f52d" - integrity sha512-GnXdGdPgU54w517iDXfKoti1i8jrVyOwhxPKS2Lpqac3QH4NL3b4sSbz+pCBDmjk60gveHzu3IAIGscUpbo1yQ== +"@mrgnlabs/marginfi-client-v2@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@mrgnlabs/marginfi-client-v2/-/marginfi-client-v2-6.0.1.tgz#740bb83635d7f3adb6764d37c17f9e36777a2750" + integrity sha512-I4IdrS+fAIhkcgqXmRfwsuZDRgzSipy1Ok8L8Wm3NGgw6JFvTje6qYJ2rNKdZOpZaTDl2q+kZc/GD5EhJkQrLA== dependencies: "@coral-xyz/anchor" "^0.30.1" - "@mrgnlabs/mrgn-common" "*" + "@coral-xyz/borsh" "^0.30.1" + "@mrgnlabs/mrgn-common" "2.0.2" "@pythnetwork/pyth-solana-receiver" "^0.8.0" + "@solana/spl-token" "^0.1.8" "@solana/wallet-adapter-base" "^0.9.23" "@solana/web3.js" "^1.93.2" - "@switchboard-xyz/on-demand" "^1.2.36" + "@switchboard-xyz/on-demand" "^1.2.54" bignumber.js "^9.1.2" borsh "^2.0.0" bs58 "^6.0.0" + crypto-hash "^3.1.0" decimal.js "^10.4.3" superstruct "^1.0.4" -"@mrgnlabs/mrgn-common@*", "@mrgnlabs/mrgn-common@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@mrgnlabs/mrgn-common/-/mrgn-common-1.8.0.tgz#76df1104b3a6b04054c56c297b4dc6a27236d8fe" - integrity sha512-6VQ/2Ob8alyI1jsY3RETsWJ5W/myEp+h2yu1mFI/yzKHLffQMlt50FWPSDmCe2TBmkBioW48HOl+PqQf3+Wfbg== +"@mrgnlabs/mrgn-common@2.0.2", "@mrgnlabs/mrgn-common@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@mrgnlabs/mrgn-common/-/mrgn-common-2.0.2.tgz#4b96de41a7c8bd14e7e8c756793717e4cbbae8ef" + integrity sha512-PypRjfnLPN4HPLz6VOyq7FpcbZPvG1CsZzBX7YMTBBiIZElt8NVk9cMZvTjZS7FzjgBdli0l8L60gt1ZdV2jvg== dependencies: "@coral-xyz/anchor" "^0.30.1" + "@solana/buffer-layout" "4.0.1" "@solana/buffer-layout-utils" "^0.2.0" "@solana/wallet-adapter-base" "^0.9.23" "@solana/web3.js" "^1.93.2" @@ -237,7 +289,14 @@ "@solana/buffer-layout" "=4.0.0" "@solana/buffer-layout-utils" "=0.2.0" -"@noble/curves@^1.0.0", "@noble/curves@^1.4.2": +"@noble/curves@^1.0.0": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.2.tgz#8f24c037795e22b90ae29e222a856294c1d9ffc7" + integrity sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g== + dependencies: + "@noble/hashes" "1.7.2" + +"@noble/curves@^1.4.2": version "1.7.0" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.7.0.tgz#0512360622439256df892f21d25b388f52505e45" integrity sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw== @@ -254,7 +313,17 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.0.tgz#d4bfb516ad6e7b5111c216a5cc7075f4cf19e6c5" integrity sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ== -"@noble/hashes@^1.3.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0": +"@noble/hashes@1.7.2": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.2.tgz#d53c65a21658fb02f3303e7ee3ba89d6754c64b4" + integrity sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ== + +"@noble/hashes@^1.3.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" + integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== + +"@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0": version "1.6.1" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.6.1.tgz#df6e5943edcea504bac61395926d6fd67869a0d5" integrity sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w== @@ -363,6 +432,13 @@ bigint-buffer "^1.1.5" bignumber.js "^9.0.1" +"@solana/buffer-layout@4.0.1", "@solana/buffer-layout@^4.0.0", "@solana/buffer-layout@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== + dependencies: + buffer "~6.0.3" + "@solana/buffer-layout@=4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.0.tgz#75b1b11adc487234821c81dfae3119b73a5fd734" @@ -370,13 +446,6 @@ dependencies: buffer "~6.0.3" -"@solana/buffer-layout@^4.0.0", "@solana/buffer-layout@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" - integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== - dependencies: - buffer "~6.0.3" - "@solana/codecs-core@2.0.0-rc.1": version "2.0.0-rc.1" resolved "https://registry.yarnpkg.com/@solana/codecs-core/-/codecs-core-2.0.0-rc.1.tgz#1a2d76b9c7b9e7b7aeb3bd78be81c2ba21e3ce22" @@ -384,6 +453,13 @@ dependencies: "@solana/errors" "2.0.0-rc.1" +"@solana/codecs-core@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@solana/codecs-core/-/codecs-core-2.1.0.tgz#79ac28fbcde4a09d88f4360777ceeb30ec14e3f1" + integrity sha512-SR7pKtmJBg2mhmkel2NeHA1pz06QeQXdMv8WJoIR9m8F/hw80K/612uaYbwTt2nkK0jg/Qn/rNSd7EcJ4SBGjw== + dependencies: + "@solana/errors" "2.1.0" + "@solana/codecs-data-structures@2.0.0-rc.1": version "2.0.0-rc.1" resolved "https://registry.yarnpkg.com/@solana/codecs-data-structures/-/codecs-data-structures-2.0.0-rc.1.tgz#d47b2363d99fb3d643f5677c97d64a812982b888" @@ -401,6 +477,14 @@ "@solana/codecs-core" "2.0.0-rc.1" "@solana/errors" "2.0.0-rc.1" +"@solana/codecs-numbers@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@solana/codecs-numbers/-/codecs-numbers-2.1.0.tgz#f6a1a9009ace56238d8d9478dd5d375b09c6342a" + integrity sha512-XMu4yw5iCgQnMKsxSWPPOrGgtaohmupN3eyAtYv3K3C/MJEc5V90h74k5B1GUCiHvcrdUDO9RclNjD9lgbjFag== + dependencies: + "@solana/codecs-core" "2.1.0" + "@solana/errors" "2.1.0" + "@solana/codecs-strings@2.0.0-rc.1": version "2.0.0-rc.1" resolved "https://registry.yarnpkg.com/@solana/codecs-strings/-/codecs-strings-2.0.0-rc.1.tgz#e1d9167075b8c5b0b60849f8add69c0f24307018" @@ -429,6 +513,14 @@ chalk "^5.3.0" commander "^12.1.0" +"@solana/errors@2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@solana/errors/-/errors-2.1.0.tgz#1a139965fcb8bec610cc1c6194d53d169f4b5852" + integrity sha512-l+GxAv0Ar4d3c3PlZdA9G++wFYZREEbbRyAFP8+n8HSg0vudCuzogh/13io6hYuUhG/9Ve8ARZNamhV7UScKNw== + dependencies: + chalk "^5.3.0" + commander "^13.1.0" + "@solana/functional@2.0.0-experimental.21e994f": version "2.0.0-experimental.21e994f" resolved "https://registry.yarnpkg.com/@solana/functional/-/functional-2.0.0-experimental.21e994f.tgz#e7ebdc8fcb14a0a2bc7d0f7df8667d171f54a10b" @@ -491,22 +583,24 @@ dependencies: "@solana/codecs" "2.0.0-rc.1" -"@solana/spl-token-metadata@^0.1.2", "@solana/spl-token-metadata@^0.1.6": +"@solana/spl-token-metadata@^0.1.6": version "0.1.6" resolved "https://registry.yarnpkg.com/@solana/spl-token-metadata/-/spl-token-metadata-0.1.6.tgz#d240947aed6e7318d637238022a7b0981b32ae80" integrity sha512-7sMt1rsm/zQOQcUWllQX9mD2O6KhSAtY1hFR2hfFwgqfFWzSY9E9GDvFVNYUI1F0iQKcm6HmePU9QbKRXTEBiA== dependencies: "@solana/codecs" "2.0.0-rc.1" -"@solana/spl-token@^0.3.4": - version "0.3.11" - resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.3.11.tgz#cdc10f9472b29b39c8983c92592cadd06627fb9a" - integrity sha512-bvohO3rIMSVL24Pb+I4EYTJ6cL82eFpInEXD/I8K8upOGjpqHsKUoAempR/RnUlI1qSFNyFlWJfu6MNUgfbCQQ== +"@solana/spl-token@^0.1.8": + version "0.1.8" + resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.1.8.tgz#f06e746341ef8d04165e21fc7f555492a2a0faa6" + integrity sha512-LZmYCKcPQDtJgecvWOgT/cnoIQPWjdH+QVyzPcFvyDUiT0DiRjZaam4aqNUyvchLFhzgunv3d9xOoyE34ofdoQ== dependencies: - "@solana/buffer-layout" "^4.0.0" - "@solana/buffer-layout-utils" "^0.2.0" - "@solana/spl-token-metadata" "^0.1.2" - buffer "^6.0.3" + "@babel/runtime" "^7.10.5" + "@solana/web3.js" "^1.21.0" + bn.js "^5.1.0" + buffer "6.0.3" + buffer-layout "^1.2.0" + dotenv "10.0.0" "@solana/spl-token@^0.4.8": version "0.4.9" @@ -561,7 +655,28 @@ "@solana/transactions" "2.0.0-experimental.21e994f" fast-stable-stringify "^1.0.0" -"@solana/web3.js@^1.32.0", "@solana/web3.js@^1.68.0", "@solana/web3.js@^1.90.0", "@solana/web3.js@^1.91.6", "@solana/web3.js@^1.93.2", "@solana/web3.js@^1.95.2", "@solana/web3.js@^1.95.3", "@solana/web3.js@^1.95.8": +"@solana/web3.js@^1.21.0", "@solana/web3.js@^1.69.0", "@solana/web3.js@^1.90.0", "@solana/web3.js@^1.93.2", "@solana/web3.js@^1.98.0": + version "1.98.0" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.98.0.tgz#21ecfe8198c10831df6f0cfde7f68370d0405917" + integrity sha512-nz3Q5OeyGFpFCR+erX2f6JPt3sKhzhYcSycBCSPkWjzSVDh/Rr1FqTVMRe58FKO16/ivTUcuJjeS5MyBvpkbzA== + dependencies: + "@babel/runtime" "^7.25.0" + "@noble/curves" "^1.4.2" + "@noble/hashes" "^1.4.0" + "@solana/buffer-layout" "^4.0.1" + agentkeepalive "^4.5.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.1" + node-fetch "^2.7.0" + rpc-websockets "^9.0.2" + superstruct "^2.0.2" + +"@solana/web3.js@^1.32.0", "@solana/web3.js@^1.91.6": version "1.95.8" resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.95.8.tgz#2d49abda23f7a79a3cc499ab6680f7be11786ee1" integrity sha512-sBHzNh7dHMrmNS5xPD1d0Xa2QffW/RXaxu/OysRXBfwTp+LYqGGmMtCYYwrHPrN5rjAmJCsQRNAwv4FM0t3B6g== @@ -582,6 +697,27 @@ rpc-websockets "^9.0.2" superstruct "^2.0.2" +"@solana/web3.js@^1.68.0": + version "1.98.1" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.98.1.tgz#9237a5dcded21b323672aa503a0db1c3d18ff841" + integrity sha512-gRAq1YPbfSDAbmho4kY7P/8iLIjMWXAzBJdP9iENFR+dFQSBSueHzjK/ou8fxhqHP9j+J4Msl4p/oDemFcIjlg== + dependencies: + "@babel/runtime" "^7.25.0" + "@noble/curves" "^1.4.2" + "@noble/hashes" "^1.4.0" + "@solana/buffer-layout" "^4.0.1" + "@solana/codecs-numbers" "^2.1.0" + agentkeepalive "^4.5.0" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.1" + node-fetch "^2.7.0" + rpc-websockets "^9.0.2" + superstruct "^2.0.2" + "@solana/web3.js@~1.77.3": version "1.77.4" resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.77.4.tgz#aad8c44a02ced319493308ef765a2b36a9e9fa8c" @@ -603,27 +739,6 @@ rpc-websockets "^7.5.1" superstruct "^0.14.2" -"@solworks/soltoolkit-sdk@^0.0.37": - version "0.0.37" - resolved "https://registry.yarnpkg.com/@solworks/soltoolkit-sdk/-/soltoolkit-sdk-0.0.37.tgz#53800f0e43c56962194b130e02c713d8d7fb6a7c" - integrity sha512-3+mNv9ymup0LTOmZRhIWvqGmf9Col1TKuZ2I9dqrnbSveOBnjCgNDUkfge4qJ2FcWNZdVEvHzUd3UkV902INAg== - dependencies: - "@solana/buffer-layout" "^4.0.0" - "@solana/spl-token" "^0.3.4" - "@solana/web3.js" "^1.95.3" - "@types/bn.js" "^5.1.0" - "@types/node" "^18.7.13" - "@types/node-fetch" "^2.6.2" - bn.js "^5.2.1" - bs58 "^5.0.0" - decimal.js "^10.4.0" - typescript "^4.8.2" - -"@soncodi/signal@~2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@soncodi/signal/-/signal-2.0.7.tgz#0a2c361b02dbfdbcf4e66b78e5f711e0a13d6e83" - integrity sha512-zA2oZluZmVvgZEDjF243KWD1S2J+1SH1MVynI0O1KRgDt1lU8nqk7AK3oQfW/WpwT51L5waGSU0xKF/9BTP5Cw== - "@swc/helpers@^0.5.11": version "0.5.15" resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.15.tgz#79efab344c5819ecf83a43f3f9f811fc84b516d7" @@ -631,38 +746,34 @@ dependencies: tslib "^2.8.0" -"@switchboard-xyz/common@^2.5.7": - version "2.5.7" - resolved "https://registry.yarnpkg.com/@switchboard-xyz/common/-/common-2.5.7.tgz#8b781a882318d7e2e661bab3bc3695575c3da20e" - integrity sha512-xUThQ2Zuf+2/nO1J459DC3BrQn1OxytbrU84mxuGZKw4APhtm7hKKCaIdQ1uzdASj9v3NRZ+/KIPeMaQfk+ZZA== +"@switchboard-xyz/common@^3.0.1": + version "3.0.14" + resolved "https://registry.yarnpkg.com/@switchboard-xyz/common/-/common-3.0.14.tgz#5b363995bd0fefa22198286992dbe54f3e544b08" + integrity sha512-LpxzEywO0DjPYIgPzQYkf32C7agwW4YRsPN6BcIvYrw0iJdDMtPZ3SQfIGHLSlD1fwvn2KLUYuGaKegeq4aBTw== dependencies: - "@solana/web3.js" "^1.95.8" - axios "^1.7.8" + "@solana/web3.js" "^1.98.0" + axios "^1.8.3" big.js "^6.2.2" bn.js "^5.2.1" bs58 "^6.0.0" - cron-validator "^1.3.1" + buffer "^6.0.3" decimal.js "^10.4.3" js-sha256 "^0.11.0" - lodash "^4.17.21" protobufjs "^7.4.0" yaml "^2.6.1" -"@switchboard-xyz/on-demand@^1.2.36": - version "1.2.54" - resolved "https://registry.yarnpkg.com/@switchboard-xyz/on-demand/-/on-demand-1.2.54.tgz#ddf88d8bbc9525c2a447505f6ef22323da34db28" - integrity sha512-R7f0LmtV/XEbWhPVTKCWFIzGnbBgu8caP9eOlUapgcR+07oChU2SIyFtoG/bjNbAwKgx8TNVOxEk5RaZe5EyiA== +"@switchboard-xyz/on-demand@^1.2.54": + version "1.2.67" + resolved "https://registry.yarnpkg.com/@switchboard-xyz/on-demand/-/on-demand-1.2.67.tgz#7975154521218d559af8595f61617ebb0a036107" + integrity sha512-rtGA+9tQHb/xQnUFgVzyaOs2uKgnwP7OqYQLEOjTDdNTEEgU8OTR72ujluOEYB9LMByb7h9SRuOR353vxYQhYA== dependencies: - "@brokerloop/ttlcache" "^3.2.3" - "@coral-xyz/anchor-30" "npm:@coral-xyz/anchor@0.30.1" - "@solana/web3.js" "^1.95.8" - "@solworks/soltoolkit-sdk" "^0.0.37" - "@switchboard-xyz/common" "^2.5.7" + "@common.js/quick-lru" "^7.0.0" + "@coral-xyz/anchor" "^0.30.1" + "@switchboard-xyz/common" "^3.0.1" axios "^1.7.8" - big.js "^6.2.2" bs58 "^6.0.0" + buffer "^6.0.3" js-yaml "^4.1.0" - protobufjs "^7.4.0" "@tsconfig/node10@^1.0.7": version "1.0.11" @@ -713,14 +824,6 @@ resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== -"@types/node-fetch@^2.6.2": - version "2.6.12" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.12.tgz#8ab5c3ef8330f13100a7479e2cd56d3386830a03" - integrity sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA== - dependencies: - "@types/node" "*" - form-data "^4.0.0" - "@types/node@*", "@types/node@>=13.7.0": version "22.10.2" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.10.2.tgz#a485426e6d1fdafc7b0d4c7b24e2c78182ddabb9" @@ -733,13 +836,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== -"@types/node@^18.7.13": - version "18.19.68" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.68.tgz#f4f10d9927a7eaf3568c46a6d739cc0967ccb701" - integrity sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw== - dependencies: - undici-types "~5.26.4" - "@types/uuid@^8.3.4": version "8.3.4" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" @@ -791,17 +887,24 @@ acorn@^8.11.0, acorn@^8.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA== -agentkeepalive@^4.2.1, agentkeepalive@^4.3.0, agentkeepalive@^4.5.0: +agentkeepalive@^4.2.1: + version "4.6.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz#35f73e94b3f40bf65f105219c623ad19c136ea6a" + integrity sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ== + dependencies: + humanize-ms "^1.2.1" + +agentkeepalive@^4.3.0, agentkeepalive@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== dependencies: humanize-ms "^1.2.1" -anchor-bankrun@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/anchor-bankrun/-/anchor-bankrun-0.4.1.tgz#6fbbf824673f5fcdf353b1f1003d561c14a67c79" - integrity sha512-ryCT84tw+lP4AqRpBsZJbt/KTRoVVKufkxFGd77gnx9iHkbwA5G/9cALk/eqLQm4xeUWTrJSJdEVyg2e74iP9A== +anchor-bankrun@^0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/anchor-bankrun/-/anchor-bankrun-0.5.0.tgz#62b5905f6f0ed3799d4a37e6be045887c13d4f33" + integrity sha512-cNTRv7pN9dy+kiyJ3UlNVTg9hAXhY2HtNVNXJbP/2BkS9nOdLV0qKWhgW8UR9Go0gYuEOLKuPzrGL4HFAZPsVw== ansi-colors@^4.1.3: version "4.1.3" @@ -862,6 +965,15 @@ axios@^1.7.8: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.8.3: + version "1.8.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.8.4.tgz#78990bb4bc63d2cae072952d374835950a82f447" + integrity sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -918,7 +1030,7 @@ bindings@^1.3.0: dependencies: file-uri-to-path "1.0.0" -bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: +bn.js@^5.0.0, bn.js@^5.1.0, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== @@ -1097,6 +1209,11 @@ commander@^12.1.0: resolved "https://registry.yarnpkg.com/commander/-/commander-12.1.0.tgz#01423b36f501259fdaac4d0e4d60c96c991585d3" integrity sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA== +commander@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-13.1.0.tgz#776167db68c78f38dcce1f9b8d7b8b9a488abf46" + integrity sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw== + commander@^2.20.3: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -1107,11 +1224,6 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cron-validator@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/cron-validator/-/cron-validator-1.3.1.tgz#8f2fe430f92140df77f91178ae31fc1e3a48a20e" - integrity sha512-C1HsxuPCY/5opR55G5/WNzyEGDWFVG+6GLrA+fW/sCTcP6A6NTjUP2AK7B8n2PyFs90kDG2qzwm8LMheADku6A== - cross-fetch@^3.1.5: version "3.1.8" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82" @@ -1124,6 +1236,11 @@ crypto-hash@^1.3.0: resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247" integrity sha512-lyAZ0EMyjDkVvz8WOeVnuCPvKVBXcMv1l5SVqO1yC7PzTwrD/pPje/BIRbWhMoPe436U+Y2nD7f5bFx0kt+Sbg== +crypto-hash@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-3.1.0.tgz#8be4497e1feee8e75dfc545aa5348fb11ae167c5" + integrity sha512-HR8JlZ+Dn54Lc5gGWZJxJitWbOCUzWb9/AlyONGecBnYZ+n/ONvt0gQnEzDNpJMYeRrYO7KogQ4qwyTPKnWKEw== + debug@^4.3.5: version "4.4.0" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.0.tgz#2b3f2aea2ffeb776477460267377dc8710faba8a" @@ -1136,7 +1253,7 @@ decamelize@^4.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== -decimal.js@^10.4.0, decimal.js@^10.4.3: +decimal.js@^10.4.3: version "10.4.3" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== @@ -1181,6 +1298,11 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" +dotenv@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + dotenv@^16.0.3: version "16.4.7" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.7.tgz#0e20c5b82950140aa99be360a8a5f52335f53c26" @@ -1389,7 +1511,7 @@ isomorphic-ws@^4.0.1: resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== -jayson@^4.0.0, jayson@^4.1.0, jayson@^4.1.1: +jayson@^4.0.0, jayson@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.3.tgz#db9be2e4287d9fef4fc05b5fe367abe792c2eee8" integrity sha512-LtXh5aYZodBZ9Fc3j6f2w+MTNcnxteMOrb+QgIouguGOulWi0lieEkOUg+HkjjFs0DGoWDds6bi4E9hpNFLulQ== @@ -1407,6 +1529,24 @@ jayson@^4.0.0, jayson@^4.1.0, jayson@^4.1.1: uuid "^8.3.2" ws "^7.5.10" +jayson@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.2.0.tgz#b71762393fa40bc9637eaf734ca6f40d3b8c0c93" + integrity sha512-VfJ9t1YLwacIubLhONk0KFeosUBwstRWQ0IRT1KDjEjnVnSOVHC3uwugyV7L0c7R9lpVyrUGT2XWiBA1UTtpyg== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + stream-json "^1.9.1" + uuid "^8.3.2" + ws "^7.5.10" + jito-ts@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/jito-ts/-/jito-ts-3.0.1.tgz#24126389896e042c26d303c4e802064b249ed27e" @@ -1462,11 +1602,6 @@ lodash.camelcase@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== -lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - log-symbols@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" @@ -1732,44 +1867,44 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" -solana-bankrun-darwin-arm64@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/solana-bankrun-darwin-arm64/-/solana-bankrun-darwin-arm64-0.3.1.tgz#65ab6cd2e74eef260c38251f4c53721cf5b9030f" - integrity sha512-9LWtH/3/WR9fs8Ve/srdo41mpSqVHmRqDoo69Dv1Cupi+o1zMU6HiEPUHEvH2Tn/6TDbPEDf18MYNfReLUqE6A== +solana-bankrun-darwin-arm64@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/solana-bankrun-darwin-arm64/-/solana-bankrun-darwin-arm64-0.4.0.tgz#eb0f3dfffb1675f6329a1e026b12d09222b33986" + integrity sha512-6dz78Teoz7ez/3lpRLDjktYLJb79FcmJk2me4/YaB8WiO6W43OdExU4h+d2FyuAryO2DgBPXaBoBNY/8J1HJmw== -solana-bankrun-darwin-universal@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/solana-bankrun-darwin-universal/-/solana-bankrun-darwin-universal-0.3.1.tgz#bf691457cf046e8739c021ca11e48de5b4fefd45" - integrity sha512-muGHpVYWT7xCd8ZxEjs/bmsbMp8XBqroYGbE4lQPMDUuLvsJEIrjGqs3MbxEFr71sa58VpyvgywWd5ifI7sGIg== +solana-bankrun-darwin-universal@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/solana-bankrun-darwin-universal/-/solana-bankrun-darwin-universal-0.4.0.tgz#0ac13ec7637b334b1030e6f51abecc50a254b5de" + integrity sha512-zSSw/Jx3KNU42pPMmrEWABd0nOwGJfsj7nm9chVZ3ae7WQg3Uty0hHAkn5NSDCj3OOiN0py9Dr1l9vmRJpOOxg== -solana-bankrun-darwin-x64@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/solana-bankrun-darwin-x64/-/solana-bankrun-darwin-x64-0.3.1.tgz#c6f30c0a6bc3e1621ed90ce7562f26e93bf5303f" - integrity sha512-oCaxfHyt7RC3ZMldrh5AbKfy4EH3YRMl8h6fSlMZpxvjQx7nK7PxlRwMeflMnVdkKKp7U8WIDak1lilIPd3/lg== +solana-bankrun-darwin-x64@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/solana-bankrun-darwin-x64/-/solana-bankrun-darwin-x64-0.4.0.tgz#f863c5a668858b7c44be51376bd05fb077c11c99" + integrity sha512-LWjs5fsgHFtyr7YdJR6r0Ho5zrtzI6CY4wvwPXr8H2m3b4pZe6RLIZjQtabCav4cguc14G0K8yQB2PTMuGub8w== -solana-bankrun-linux-x64-gnu@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/solana-bankrun-linux-x64-gnu/-/solana-bankrun-linux-x64-gnu-0.3.1.tgz#78b522f1a581955a48f43a8fb560709c11301cfd" - integrity sha512-PfRFhr7igGFNt2Ecfdzh3li9eFPB3Xhmk0Eib17EFIB62YgNUg3ItRnQQFaf0spazFjjJLnglY1TRKTuYlgSVA== +solana-bankrun-linux-x64-gnu@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/solana-bankrun-linux-x64-gnu/-/solana-bankrun-linux-x64-gnu-0.4.0.tgz#30fd7edaf3ff6585468138d3bed6eaed37878d9e" + integrity sha512-SrlVrb82UIxt21Zr/XZFHVV/h9zd2/nP25PMpLJVLD7Pgl2yhkhfi82xj3OjxoQqWe+zkBJ+uszA0EEKr67yNw== -solana-bankrun-linux-x64-musl@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/solana-bankrun-linux-x64-musl/-/solana-bankrun-linux-x64-musl-0.3.1.tgz#1a044a132138a0084e82406ec7bf4939f06bed68" - integrity sha512-6r8i0NuXg3CGURql8ISMIUqhE7Hx/O7MlIworK4oN08jYrP0CXdLeB/hywNn7Z8d1NXrox/NpYUgvRm2yIzAsQ== +solana-bankrun-linux-x64-musl@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/solana-bankrun-linux-x64-musl/-/solana-bankrun-linux-x64-musl-0.4.0.tgz#3c870218140b1307dc44b51d2282697c99f2e1e4" + integrity sha512-Nv328ZanmURdYfcLL+jwB1oMzX4ZzK57NwIcuJjGlf0XSNLq96EoaO5buEiUTo4Ls7MqqMyLbClHcrPE7/aKyA== -solana-bankrun@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/solana-bankrun/-/solana-bankrun-0.3.1.tgz#13665ab7c1c15ec2b3354aae56980d0ded514998" - integrity sha512-inRwON7fBU5lPC36HdEqPeDg15FXJYcf77+o0iz9amvkUMJepcwnRwEfTNyMVpVYdgjTOBW5vg+596/3fi1kGA== +solana-bankrun@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/solana-bankrun/-/solana-bankrun-0.4.0.tgz#a48a7a74ce6c56be4ec7e200336026f65e90b8dc" + integrity sha512-NMmXUipPBkt8NgnyNO3SCnPERP6xT/AMNMBooljGA3+rG6NN8lmXJsKeLqQTiFsDeWD74U++QM/DgcueSWvrIg== dependencies: "@solana/web3.js" "^1.68.0" bs58 "^4.0.1" optionalDependencies: - solana-bankrun-darwin-arm64 "0.3.1" - solana-bankrun-darwin-universal "0.3.1" - solana-bankrun-darwin-x64 "0.3.1" - solana-bankrun-linux-x64-gnu "0.3.1" - solana-bankrun-linux-x64-musl "0.3.1" + solana-bankrun-darwin-arm64 "0.4.0" + solana-bankrun-darwin-universal "0.4.0" + solana-bankrun-darwin-x64 "0.4.0" + solana-bankrun-linux-x64-gnu "0.4.0" + solana-bankrun-linux-x64-musl "0.4.0" source-map-support@^0.5.6: version "0.5.21" @@ -1784,6 +1919,18 @@ source-map@^0.6.0: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +stream-chain@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09" + integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA== + +stream-json@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/stream-json/-/stream-json-1.9.1.tgz#e3fec03e984a503718946c170db7d74556c2a187" + integrity sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw== + dependencies: + stream-chain "^2.2.5" + string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -1933,21 +2080,11 @@ type-detect@^4.0.0, type-detect@^4.1.0: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== -typescript@^4.8.2: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - typescript@^5.7.3: version "5.7.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.7.3.tgz#919b44a7dbb8583a9b856d162be24a54bf80073e" integrity sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw== -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - undici-types@~6.20.0: version "6.20.0" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.20.0.tgz#8171bf22c1f588d1554d55bf204bc624af388433"