From 2e7c201aa04d457412d38279577827a6a61afd6f Mon Sep 17 00:00:00 2001 From: lukacan Date: Thu, 12 Sep 2024 21:29:41 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A5=20Say=20goodbye=20to=20the=20PoC?= =?UTF-8?q?=20Tests=20support=20with=20anchor-client?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/lint.yml | 23 - .github/workflows/run_examples.yml | 25 - .vscode/settings.json | 2 - CHANGELOG.md | 6 +- Cargo.lock | 679 +- Cargo.toml | 6 +- crates/cli/Cargo.toml | 3 - crates/cli/src/command.rs | 11 +- crates/cli/src/command/build.rs | 27 - crates/cli/src/command/init.rs | 22 +- crates/cli/src/command/keypair.rs | 24 - crates/cli/src/command/test.rs | 26 - crates/cli/src/lib.rs | 31 +- crates/client/Cargo.toml | 12 - crates/client/src/client.rs | 765 -- crates/client/src/commander.rs | 106 - crates/client/src/config.rs | 39 - crates/client/src/error_reporter.rs | 39 - crates/client/src/keys.rs | 1970 ----- crates/client/src/lib.rs | 56 - crates/client/src/reader.rs | 85 - .../client/src/source_code_generators/mod.rs | 1 - .../program_client_generator.rs | 254 - crates/client/src/templates/Trident.toml.tmpl | 4 - .../templates/program_client/Cargo.toml.tmpl | 7 - .../src/templates/program_client/lib.rs | 2 - .../trident-tests/Cargo_poc.toml.tmpl | 17 - .../src/templates/trident-tests/test.rs | 47 - crates/client/src/test_generator.rs | 183 - crates/client/src/tester.rs | 39 - .../expected_program_client_code.rs | 169 - crates/client/tests/test_program_client.rs | 60 - crates/test/Cargo.toml | 20 - crates/test/src/lib.rs | 90 - crates/test/tests/expand/basic.expanded.rs | 30 - crates/test/tests/expand/basic.rs | 10 - .../test/tests/expand/with_root.expanded.rs | 22 - crates/test/tests/expand/with_root.rs | 3 - crates/test/tests/test.rs | 4 - .../integration-tests/howto/poc-howto-p0.md | 47 - .../integration-tests/howto/poc-howto-p1.md | 37 - .../initialization/poc-initialization-all.md | 22 - .../initialization/poc-initialization-poc.md | 19 - .../poc-initialization-program-client.md | 10 - .../docs/integration-tests/poc-examples.md | 4 - .../integration-tests/poc-introduction.md | 6 - .../docs/integration-tests/poc-run.md | 16 - documentation/mkdocs.yml | 11 - .../arbitrary-limit-inputs-5/Cargo.lock | 259 +- examples/integration-tests/escrow/.gitignore | 7 - .../escrow/.program_client/Cargo.toml | 10 - .../escrow/.program_client/src/lib.rs | 169 - examples/integration-tests/escrow/Anchor.toml | 20 - examples/integration-tests/escrow/Cargo.lock | 7020 ----------------- examples/integration-tests/escrow/Cargo.toml | 11 - .../integration-tests/escrow/Trident.toml | 41 - .../escrow/programs/escrow/Cargo.toml | 21 - .../escrow/programs/escrow/Xargo.toml | 2 - .../escrow/programs/escrow/src/lib.rs | 247 - .../escrow/trident-tests/poc_tests/Cargo.toml | 18 - .../trident-tests/poc_tests/tests/test.rs | 251 - .../integration-tests/turnstile/.gitignore | 10 - .../turnstile/.program_client/Cargo.toml | 10 - .../turnstile/.program_client/src/lib.rs | 86 - .../integration-tests/turnstile/Anchor.toml | 19 - .../integration-tests/turnstile/Cargo.lock | 6791 ---------------- .../integration-tests/turnstile/Cargo.toml | 11 - .../integration-tests/turnstile/Makefile.toml | 12 - .../integration-tests/turnstile/README.md | 5 - .../integration-tests/turnstile/Trident.toml | 41 - .../turnstile/programs/turnstile/Cargo.toml | 21 - .../turnstile/programs/turnstile/Xargo.toml | 2 - .../turnstile/programs/turnstile/src/lib.rs | 58 - .../trident-tests/poc_tests/Cargo.toml | 17 - .../trident-tests/poc_tests/tests/test.rs | 99 - rust-toolchain.toml | 2 +- 76 files changed, 204 insertions(+), 20147 deletions(-) delete mode 100644 .github/workflows/run_examples.yml delete mode 100644 crates/cli/src/command/build.rs delete mode 100644 crates/cli/src/command/keypair.rs delete mode 100644 crates/cli/src/command/test.rs delete mode 100644 crates/client/src/client.rs delete mode 100644 crates/client/src/error_reporter.rs delete mode 100644 crates/client/src/keys.rs delete mode 100644 crates/client/src/reader.rs delete mode 100644 crates/client/src/source_code_generators/program_client_generator.rs delete mode 100644 crates/client/src/templates/program_client/Cargo.toml.tmpl delete mode 100644 crates/client/src/templates/program_client/lib.rs delete mode 100644 crates/client/src/templates/trident-tests/Cargo_poc.toml.tmpl delete mode 100644 crates/client/src/templates/trident-tests/test.rs delete mode 100644 crates/client/src/tester.rs delete mode 100644 crates/client/tests/expected_source_codes/expected_program_client_code.rs delete mode 100644 crates/client/tests/test_program_client.rs delete mode 100644 crates/test/Cargo.toml delete mode 100644 crates/test/src/lib.rs delete mode 100644 crates/test/tests/expand/basic.expanded.rs delete mode 100644 crates/test/tests/expand/basic.rs delete mode 100644 crates/test/tests/expand/with_root.expanded.rs delete mode 100644 crates/test/tests/expand/with_root.rs delete mode 100644 crates/test/tests/test.rs delete mode 100644 documentation/docs/integration-tests/howto/poc-howto-p0.md delete mode 100644 documentation/docs/integration-tests/howto/poc-howto-p1.md delete mode 100644 documentation/docs/integration-tests/initialization/poc-initialization-all.md delete mode 100644 documentation/docs/integration-tests/initialization/poc-initialization-poc.md delete mode 100644 documentation/docs/integration-tests/initialization/poc-initialization-program-client.md delete mode 100644 documentation/docs/integration-tests/poc-examples.md delete mode 100644 documentation/docs/integration-tests/poc-introduction.md delete mode 100644 documentation/docs/integration-tests/poc-run.md delete mode 100644 examples/integration-tests/escrow/.gitignore delete mode 100644 examples/integration-tests/escrow/.program_client/Cargo.toml delete mode 100644 examples/integration-tests/escrow/.program_client/src/lib.rs delete mode 100644 examples/integration-tests/escrow/Anchor.toml delete mode 100644 examples/integration-tests/escrow/Cargo.lock delete mode 100644 examples/integration-tests/escrow/Cargo.toml delete mode 100644 examples/integration-tests/escrow/Trident.toml delete mode 100644 examples/integration-tests/escrow/programs/escrow/Cargo.toml delete mode 100644 examples/integration-tests/escrow/programs/escrow/Xargo.toml delete mode 100644 examples/integration-tests/escrow/programs/escrow/src/lib.rs delete mode 100644 examples/integration-tests/escrow/trident-tests/poc_tests/Cargo.toml delete mode 100644 examples/integration-tests/escrow/trident-tests/poc_tests/tests/test.rs delete mode 100644 examples/integration-tests/turnstile/.gitignore delete mode 100644 examples/integration-tests/turnstile/.program_client/Cargo.toml delete mode 100644 examples/integration-tests/turnstile/.program_client/src/lib.rs delete mode 100644 examples/integration-tests/turnstile/Anchor.toml delete mode 100644 examples/integration-tests/turnstile/Cargo.lock delete mode 100644 examples/integration-tests/turnstile/Cargo.toml delete mode 100644 examples/integration-tests/turnstile/Makefile.toml delete mode 100644 examples/integration-tests/turnstile/README.md delete mode 100644 examples/integration-tests/turnstile/Trident.toml delete mode 100644 examples/integration-tests/turnstile/programs/turnstile/Cargo.toml delete mode 100644 examples/integration-tests/turnstile/programs/turnstile/Xargo.toml delete mode 100644 examples/integration-tests/turnstile/programs/turnstile/src/lib.rs delete mode 100644 examples/integration-tests/turnstile/trident-tests/poc_tests/Cargo.toml delete mode 100644 examples/integration-tests/turnstile/trident-tests/poc_tests/tests/test.rs diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 0ae55a53..acc93f33 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -10,7 +10,6 @@ jobs: needs: - cli - client - - test steps: - run: echo "Done" cli: @@ -52,25 +51,3 @@ jobs: run: cargo clippy -- -D warnings - name: Cargo test run: cargo test - - test: - runs-on: ubuntu-20.04 - defaults: - run: - working-directory: crates/test - steps: - - uses: actions/checkout@v3 - - uses: ./.github/actions/setup-rust/ - id: rust-setup - - uses: Swatinem/rust-cache@v2 - name: Cache Rust and it's packages - - name: Install cargo packages - run: cargo install cargo-expand - - name: Cargo build - run: cargo build - - name: Cargo fmt - run: cargo fmt -- --check - - name: Cargo clippy - run: cargo clippy -- -D warnings - - name: Cargo test - run: cargo test diff --git a/.github/workflows/run_examples.yml b/.github/workflows/run_examples.yml deleted file mode 100644 index a25d5c42..00000000 --- a/.github/workflows/run_examples.yml +++ /dev/null @@ -1,25 +0,0 @@ -on: - workflow_dispatch: - pull_request: - -name: Test Escrow - -env: - SOLANA_CLI_VERSION: 1.18.18 - ANCHOR_VERSION: 0.30.1 - -jobs: - test_escrow: - runs-on: ubuntu-20.04 - steps: - - uses: actions/checkout@v3 - - uses: ./.github/actions/setup-rust/ - - uses: ./.github/actions/setup-solana/ - - uses: ./.github/actions/setup-anchor/ - - uses: ./.github/actions/setup-trident/ - id: rust-setup - - uses: Swatinem/rust-cache@v2 - name: Cache Rust and it's packages - - name: Test Escrow - working-directory: examples/integration-tests/escrow - run: trident test diff --git a/.vscode/settings.json b/.vscode/settings.json index 4baf4fc8..ada65b31 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,9 +1,7 @@ { "rust-analyzer.linkedProjects": [ - // autodiscovery is disabled, must list all crates "crates/cli/Cargo.toml", "crates/client/Cargo.toml", - "crates/test/Cargo.toml", ], "rust-analyzer.diagnostics.disabled": [ "missing-unsafe", diff --git a/CHANGELOG.md b/CHANGELOG.md index 75aea050..4823163c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,8 +11,12 @@ incremented upon a breaking change and the patch version will be incremented for ## [dev] - Unreleased **Changed** + - feat/ option to add account into Fuzz Test environment with base64 data ([197](https://github.com/Ackee-Blockchain/trident/pull/197)) -- impr/ instead of parsing source code and creating our IDL, read anchor IDL ([196](https://github.com/Ackee-Blockchain/trident/pull/196)) +- impr/ instead of parsing source code and creating our IDL, read anchor IDL ([198](https://github.com/Ackee-Blockchain/trident/pull/196)) + +**Removed** +- del/remove integration tests supported by Trident, this feature adds more unnecessary overhead compared to its value ([196](https://github.com/Ackee-Blockchain/trident/pull/198)) ## [0.7.0] - 2024-08-14 diff --git a/Cargo.lock b/Cargo.lock index 11dabb10..49d5c8b1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,19 +14,13 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375" dependencies = [ "gimli", ] -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - [[package]] name = "adler2" version = "2.0.0" @@ -199,25 +193,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "anchor-client" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b4397af9b7d6919df3342210d897c0ffda1a31d052abc8eee3e6035ee71567" -dependencies = [ - "anchor-lang", - "anyhow", - "futures", - "regex", - "serde", - "solana-account-decoder", - "solana-client", - "solana-sdk", - "thiserror", - "tokio", - "url", -] - [[package]] name = "anchor-derive-accounts" version = "0.30.1" @@ -395,9 +370,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "4e1496f8fb1fbf272686b8d37f523dab3e4a7443300055e74cdaa449f3114356" [[package]] name = "aquamarine" @@ -638,13 +613,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -666,17 +641,17 @@ checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.4", + "miniz_oxide", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -703,15 +678,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" -[[package]] -name = "basic-toml" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "823388e228f614e9558c6804262db37960ec8821856535f5c3f59913140558f8" -dependencies = [ - "serde", -] - [[package]] name = "bincode" version = "1.3.3" @@ -850,7 +816,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", "syn_derive", ] @@ -952,9 +918,9 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.17.1" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2" +checksum = "94bbb0ad554ad961ddc5da507a12a29b14e4ae5bda06b19f575a3e6079d2e2ae" dependencies = [ "bytemuck_derive", ] @@ -967,7 +933,7 @@ checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -1047,9 +1013,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.15" +version = "1.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" +checksum = "b62ac837cdb5cb22e10a256099b4fc502b1dfe560cb282963a974d7abd80e476" dependencies = [ "jobserver", "libc", @@ -1164,7 +1130,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -1282,9 +1248,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -1402,38 +1368,14 @@ dependencies = [ "zeroize", ] -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - [[package]] name = "darling" version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", + "darling_core", + "darling_macro", ] [[package]] @@ -1447,18 +1389,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.76", -] - -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote", - "syn 1.0.109", + "syn 2.0.77", ] [[package]] @@ -1467,9 +1398,9 @@ version = "0.20.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ - "darling_core 0.20.10", + "darling_core", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -1549,7 +1480,7 @@ checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -1605,15 +1536,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - [[package]] name = "dirs-next" version = "2.0.0" @@ -1624,18 +1546,6 @@ dependencies = [ "dirs-sys-next", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -1655,7 +1565,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -1678,7 +1588,7 @@ checksum = "a6cbae11b3de8fce2a456e8ea3dada226b35fe791f0dc1d360c0941f0bb681f3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -1784,7 +1694,7 @@ checksum = "a1ab991c1362ac86c61ab6f556cff143daa22e5a15e4e189df818b2fd19fe65b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -1797,7 +1707,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -1886,7 +1796,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", - "miniz_oxide 0.8.0", + "miniz_oxide", ] [[package]] @@ -1975,7 +1885,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -1990,12 +1900,6 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - [[package]] name = "futures-util" version = "0.3.30" @@ -2063,15 +1967,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "glob" -version = "0.3.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64" [[package]] name = "goblin" @@ -2096,10 +1994,10 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap 2.4.0", + "indexmap 2.5.0", "slab", "tokio", - "tokio-util 0.7.11", + "tokio-util 0.7.12", "tracing", ] @@ -2399,9 +2297,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", "hashbrown 0.14.5", @@ -2431,9 +2329,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "187674a687eed5fe42285b40c6291f9a01517d415fad1c3cbc6a9f778af7fcd4" [[package]] name = "is-terminal" @@ -2637,22 +2535,6 @@ dependencies = [ "libc", ] -[[package]] -name = "macrotest" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e2035deb453578ff1cd2da2761ac78abbffffd1d06a0f59261c082ea713fdad" -dependencies = [ - "basic-toml", - "diff", - "glob", - "prettyplease", - "serde", - "serde_derive", - "serde_json", - "syn 2.0.76", -] - [[package]] name = "memchr" version = "2.7.4" @@ -2719,15 +2601,6 @@ 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 = "miniz_oxide" version = "0.8.0" @@ -2896,7 +2769,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -2977,7 +2850,7 @@ dependencies = [ "proc-macro-crate 1.3.1", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -2989,7 +2862,7 @@ dependencies = [ "proc-macro-crate 3.2.0", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -3053,12 +2926,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "os_str_bytes" version = "6.6.1" @@ -3182,7 +3049,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -3283,12 +3150,6 @@ dependencies = [ "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" @@ -3299,16 +3160,6 @@ dependencies = [ "yansi", ] -[[package]] -name = "prettyplease" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" -dependencies = [ - "proc-macro2", - "syn 2.0.76", -] - [[package]] name = "prettytable" version = "0.10.0" @@ -3401,7 +3252,7 @@ checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -3576,9 +3427,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853" dependencies = [ "bitflags 2.6.0", ] @@ -3623,12 +3474,6 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" -[[package]] -name = "relative-path" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" - [[package]] name = "reqwest" version = "0.11.27" @@ -3662,7 +3507,7 @@ dependencies = [ "system-configuration", "tokio", "tokio-rustls", - "tokio-util 0.7.11", + "tokio-util 0.7.12", "tower-service", "url", "wasm-bindgen", @@ -3713,35 +3558,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "rstest" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199" -dependencies = [ - "futures", - "futures-timer", - "rstest_macros", - "rustc_version", -] - -[[package]] -name = "rstest_macros" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605" -dependencies = [ - "cfg-if", - "glob", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.76", - "unicode-ident", -] - [[package]] name = "rtoolbox" version = "0.0.2" @@ -3784,9 +3600,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.35" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags 2.6.0", "errno", @@ -3861,11 +3677,11 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "e9aaafd5a2b6e3d657ff009d82fbd630b6bd54dd4eb06f21693925cdf80f9b8b" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3891,7 +3707,7 @@ checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -3947,9 +3763,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -3965,20 +3781,20 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] name = "serde_json" -version = "1.0.127" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ "itoa", "memchr", @@ -4014,48 +3830,10 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ - "darling 0.20.10", + "darling", "proc-macro2", "quote", - "syn 2.0.76", -] - -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap 2.4.0", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "serial_test" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" -dependencies = [ - "dashmap", - "futures", - "lazy_static", - "log", - "parking_lot", - "serial_test_derive", -] - -[[package]] -name = "serial_test_derive" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -4130,15 +3908,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" -[[package]] -name = "shellexpand" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" -dependencies = [ - "dirs", -] - [[package]] name = "shlex" version = "1.3.0" @@ -4203,9 +3972,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4185d569c062983fc2a618ae4ee6fe1a139b36bce7a25045647c49bf0020a53" +checksum = "f5e54ec43b0262c19a3c87bf2dbd52c6bc6d4f9307246fe4b666fd87f06305e5" dependencies = [ "Inflector", "base64 0.21.7", @@ -4228,9 +3997,9 @@ dependencies = [ [[package]] name = "solana-accounts-db" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c156ddd42a2746e14fe267f85a2f802567dfa7c1702836b0ce69ea3be15a3c3" +checksum = "da22e7afc30fa3d6367f4a5230c843ec2bfd27456b9f3b7ec144c112eaca303a" dependencies = [ "arrayref", "bincode", @@ -4289,9 +4058,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f5967c234aa8281f36999ded250403ddacb77863e2a1e157a3203884a13cfa" +checksum = "2601a7879e6db5f9af09801f2c99032a204849643832dae4a96495b86e789b0e" dependencies = [ "bincode", "bytemuck", @@ -4310,9 +4079,9 @@ dependencies = [ [[package]] name = "solana-banks-client" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78204433cdb1945ef3622905f806423f5536cc91205dc8e325efe521394d3ca" +checksum = "48b38e77fde55eaa036666461c61df36238416908c5a4737b59cd1b6165736dc" dependencies = [ "borsh 1.5.1", "futures", @@ -4327,9 +4096,9 @@ dependencies = [ [[package]] name = "solana-banks-interface" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f959539e11afaa554c0ae445bb3c726ad658aa33d8b577b76ab7e0ad6e313405" +checksum = "44cb66654fa16a519efe8bb54eacfd0e9a3862f916d925cd24b63041b113c8a1" dependencies = [ "serde", "solana-sdk", @@ -4338,9 +4107,9 @@ dependencies = [ [[package]] name = "solana-banks-server" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5224477dc90857c98bec8ff746926facf525e0216fdfbde51e28d92d5b11b236" +checksum = "964127e858fb510ff017981acab11ac376ecfee3b10c03c379ff084a52e14969" dependencies = [ "bincode", "crossbeam-channel", @@ -4358,9 +4127,9 @@ dependencies = [ [[package]] name = "solana-bpf-loader-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfab3aa028e4feac760f28e7fb24760813d451e7cff5a13584509ddab4a94311" +checksum = "da1c1bf12ec90f8a67706e6e5ffc91e2198b85a07bd12c56c44967d13bba7e7f" dependencies = [ "bincode", "byteorder", @@ -4377,9 +4146,9 @@ dependencies = [ [[package]] name = "solana-bucket-map" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06f781213cf76d8840e688d52fbc3876ae8522d2ac594c1c11ab9b982d7f0336" +checksum = "71ed4b533159ec832f534a5b4efb10946d392b15efc88ca2107bdbb39b5d0646" dependencies = [ "bv", "bytemuck", @@ -4395,9 +4164,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c817832e71886dbea877d1aa911c9ce2e984a39081bb56ee30d4c835567827a6" +checksum = "117bf11e4d15b529dd9dfa2680abaf8bd3c1d8f7cb0586a5accdac5a2ecc7cc5" dependencies = [ "chrono", "clap 2.34.0", @@ -4410,61 +4179,18 @@ dependencies = [ "url", ] -[[package]] -name = "solana-cli-config" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3d0ab58e2a883f36082c736fec6e6d5872dc902c3b2cc960ed67d8eaf8994d" -dependencies = [ - "dirs-next", - "lazy_static", - "serde", - "serde_derive", - "serde_yaml", - "solana-clap-utils", - "solana-sdk", - "url", -] - -[[package]] -name = "solana-cli-output" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a398964bb920e7606a8c4b2c01cb6d394ab9b5eb8a6f214fcdc7c5f90f470f36" -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.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa9cc6e8e59adf70acbf5cac21342ae8b5e41cbf05519fe5f6287e84ab40f63" +checksum = "1501330d85c1a790f45f11330616bd6f0b9acd2193477268a65a38ce3b7cfdd0" dependencies = [ "async-trait", "bincode", "dashmap", "futures", "futures-util", - "indexmap 2.4.0", + "indexmap 2.5.0", "indicatif", "log", "quinn", @@ -4488,9 +4214,9 @@ dependencies = [ [[package]] name = "solana-compute-budget-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b176bad40620d1c443365daf24e19fbfccafe8daff60eb3ddd6cbd9cf0fbec58" +checksum = "9a43d1ca229c5f761b9be38bd7dbc7c034cfb214dcbfef9691314ae4c778451c" dependencies = [ "solana-program-runtime", "solana-sdk", @@ -4498,9 +4224,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d02fb29934427f1487d2149fe8bcb405306729b2f22a2ad616bb8ffd024cee7b" +checksum = "d00d0d031f3d97e3f59305c4aabf9da7359fad86dbaeb43b61a1ea13224e0b8a" dependencies = [ "bincode", "chrono", @@ -4512,15 +4238,15 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e5a2e26448b3e04ce673794994ff27f3972ec8a806c224eccc02e09f751ca5" +checksum = "90fa9ff6c33772441670e446b1d43e787aa315e95f2f9c14e3e9508b814bc8e5" dependencies = [ "async-trait", "bincode", "crossbeam-channel", "futures-util", - "indexmap 2.4.0", + "indexmap 2.5.0", "log", "rand 0.8.5", "rayon", @@ -4534,9 +4260,9 @@ dependencies = [ [[package]] name = "solana-cost-model" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4564996ef9f2983efeedb14a38315fa606d3d2cc0a2c8d899c507c5893fe79" +checksum = "992d3d9e5cd8df6a393d66c2d52ba18afd3988f142a44f1ff26541fb3c0dd5b7" dependencies = [ "lazy_static", "log", @@ -4558,9 +4284,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20a6ef2db80dceb124b7bf81cca3300804bf427d2711973fc3df450ed7dfb26d" +checksum = "4bfcde2fc6946c99c7e3400fadd04d1628d675bfd66cb34d461c0f3224bd27d1" dependencies = [ "block-buffer 0.10.4", "bs58 0.4.0", @@ -4583,21 +4309,21 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70088de7d4067d19a7455609e2b393e6086bd847bb39c4d2bf234fc14827ef9e" +checksum = "d5024d241425f4e99f112ee03bfa89e526c86c7ca9bd7e13448a7f2dffb7e060" dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] name = "solana-loader-v4-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fde1ab49eb031882f4803bf5a8008dca84356717e120ba9276d229ff24633c" +checksum = "c5607358636671522978533b77ff409b634b2ea53d94fd32dec4b4bcf7fe5c7e" dependencies = [ "log", "solana-measure", @@ -4608,9 +4334,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b129da15193f26db62d62ae6bb9f72361f361bcdc36054be3ab8bc04cc7a4f31" +checksum = "10948c30d138d6fbfc2ae78a4882be5a9ebffa4bb1239c4efc386104ebc35b7f" dependencies = [ "env_logger", "lazy_static", @@ -4619,9 +4345,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d195b73093a4964ba6b5943418054a5fcbba23eafdd0842fd973fcceac1a967" +checksum = "379355a731abf50bb5ef1e4afba02ac8c835c25bb18e32229bb481657d5c9eca" dependencies = [ "log", "solana-sdk", @@ -4629,9 +4355,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7b06860ffbf4cf4714182e1b7eb00eb3ff0bcc9cff615d05e01e488923883c" +checksum = "82a6f767cf39d69104bff52602f3141d6abfbdd55b4eb310f8fbbbf862b27e6f" dependencies = [ "crossbeam-channel", "gethostname", @@ -4644,9 +4370,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9400b50b8439868a99b5fa2d961d74e37b7a6c1d5865759d0b1c906c2ad6b2a9" +checksum = "c81ade42b553c7de08fb97cf3cfe44545f59a247e90042a67d224d62a8a189d7" dependencies = [ "bincode", "clap 3.2.25", @@ -4672,9 +4398,9 @@ checksum = "8b8a731ed60e89177c8a7ab05fe0f1511cedd3e70e773f288f9de33a9cfdc21e" [[package]] name = "solana-perf" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01a386e852df67031195094628851b8d239dd71fe17b721c3993277e68cb3ab" +checksum = "9ecdf31e535743515d31392f210d132463300b5d3de7c3e26f6b344b6c941c42" dependencies = [ "ahash 0.8.11", "bincode", @@ -4701,9 +4427,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb2b2c8babfae4cace1a25b6efa00418f3acd852cf55d7cecc0360d3c5050479" +checksum = "76056fecde0fe0ece8b457b719729c17173333471c72ad41969982975a10d6e0" dependencies = [ "ark-bn254", "ark-ec", @@ -4756,9 +4482,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0444f9440f4459d377c41470b2eb48b527def81f3052b7a121f6aa8c7350cc52" +checksum = "e566a9e61ecdc250824314864654dd370abf561fa8328f6e08b3bc96ccc5b80d" dependencies = [ "base64 0.21.7", "bincode", @@ -4784,9 +4510,9 @@ dependencies = [ [[package]] name = "solana-program-test" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c76274336971f37dbbd3508aaaa4c98ca0061abd31fb309ad1c6ad132f0c6c0e" +checksum = "b841ea7e55ee7b7e2cac034fd008c7d8cabd8b474958d4f64fcfaf76220846f5" dependencies = [ "assert_matches", "async-trait", @@ -4814,9 +4540,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee4a39e41e789b6f100c97d9f40c1d08381bf6e3d0e351065e542091cddb039" +checksum = "a5d997840e6d033edc4fca8f06b920726dc18d3a5bbc1e538b2154cc3b71acd1" dependencies = [ "crossbeam-channel", "futures-util", @@ -4839,9 +4565,9 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baad755c76ee0aab8890f0ef873e61b8b3012c523d33bfa5b062fe9be8cef370" +checksum = "6e689a97cefa6a005cd305210234f3dc78aacc934c0f76d210a264fae36ee432" dependencies = [ "async-mutex", "async-trait", @@ -4866,9 +4592,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c2a0ccb0be7ca79e8ff0d7c786bce586433a5687ffbea522453d0b41c4bf4a" +checksum = "bbf70f0441603e553fc3db30c1eec9f10cecc27849e7dc74d5f692d5a41a56ca" dependencies = [ "lazy_static", "num_cpus", @@ -4876,9 +4602,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d042a812537e3507e1c163c7573fc04c96e12d3eba512e3fe74c7393229fa39" +checksum = "9651b3f2c3df39a1a6fc87fe792bdb3ec3d84a8169c0a57c86335b48d6cb1491" dependencies = [ "console", "dialoguer", @@ -4895,9 +4621,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6f5560283bd0a6833d1bd816299785058a870fff51b0df399fdb3ce92c8484" +checksum = "d753d116aacc43ef64a2bc8d25f8b20af47c366b29aa859186124e226d6e3819" dependencies = [ "async-trait", "base64 0.21.7", @@ -4921,9 +4647,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e4ca77f89caa9071acadb1eed19c28a6691fd63d0563ed927c96bf734cf1c9c" +checksum = "617df2c53f948c821cefca6824e376aac04ff0d844bb27f4d3ada9e211bcffe7" dependencies = [ "base64 0.21.7", "bs58 0.4.0", @@ -4943,9 +4669,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a6ea9ad81d63f18fb8b3a9b39643cc43eaf909199d67037e724562301d1df7" +checksum = "c2d34cf36289cc35a0b18cd518a256312090368a37f40b448520e260923558a9" dependencies = [ "clap 2.34.0", "solana-clap-utils", @@ -4956,9 +4682,9 @@ dependencies = [ [[package]] name = "solana-runtime" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b50b29b6f5938d2c9b151e9187d4687ca9c26be2c6ebe53ba34826283441" +checksum = "18dca69c7d3127d7b35014e703675a5665ed5680f6e1892acd24d612da059be9" dependencies = [ "aquamarine", "arrayref", @@ -5033,9 +4759,9 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e0f0def5c5af07f53d321cea7b104487b522cfff77c3cae3da361bfe956e9e" +checksum = "b4b3f2080eddef6552fde7f149c429cf05b9bb0605a068b0d28e19d793e24df4" dependencies = [ "assert_matches", "base64 0.21.7", @@ -5088,15 +4814,15 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55c196c8050834c391a34b58e3c9fd86b15452ef1feeeafa1dbeb9d2291dfec" +checksum = "2a8613ca80150f7e277e773620ba65d2c5fcc3a08eb8026627d601421ab43aef" dependencies = [ "bs58 0.4.0", "proc-macro2", "quote", "rustversion", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -5107,9 +4833,9 @@ checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" [[package]] name = "solana-send-transaction-service" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c5fc9df712efd671a5a5b68e58a448dc13b70f59ef16bdd0e8d644813eb67a" +checksum = "ff268c2c8a9490acfe40daeb650067e053684167c371d6d02a3bc3ad701d4c1f" dependencies = [ "crossbeam-channel", "log", @@ -5123,9 +4849,9 @@ dependencies = [ [[package]] name = "solana-stake-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624f6d0c84c19a17bf882259303e99e1ed2562a0316c989f847a067aa99d4940" +checksum = "22aaa33150c76b5c2d11b31b8e7fceb9c147ecf40ae9050af34c619a5bf4ff3f" dependencies = [ "bincode", "log", @@ -5138,16 +4864,16 @@ dependencies = [ [[package]] name = "solana-streamer" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "749720d82c5f31f7ec326da1e0baac098201de70f0874719172a55309433b449" +checksum = "979d470dd7c589679a2e036078921989a2563f333b73b31e2fdceb09a6d55a29" dependencies = [ "async-channel", "bytes", "crossbeam-channel", "futures-util", "histogram", - "indexmap 2.4.0", + "indexmap 2.5.0", "itertools", "libc", "log", @@ -5171,9 +4897,9 @@ dependencies = [ [[package]] name = "solana-system-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a449f40a516a8e83dcc2ce07643bb3feec4da690f170d438849af06c503cc28" +checksum = "873b17e54d30a7834e5b2224351fb277e0608e40261e9a408d3706737d2a61f8" dependencies = [ "bincode", "log", @@ -5185,9 +4911,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84535de1253afb6ccc4ae6852eb013ca734c439a902ec5e4684b90ed649a37c2" +checksum = "851b9ae239d098c766aee3558330cc16edd0524c9cf3f9cf7c64f53b1024d507" dependencies = [ "bincode", "log", @@ -5200,14 +4926,14 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff514462bb715aaea9bc5c0ee60f83ab3f91e04279337c6b07d054153b616dc" +checksum = "6a7a7e5a522fe5333fcb47e02fb7da73ff614d917754167937b5523c383ce161" dependencies = [ "async-trait", "bincode", "futures-util", - "indexmap 2.4.0", + "indexmap 2.5.0", "indicatif", "log", "rayon", @@ -5224,9 +4950,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670e387049812d42bdc8fcc4ff75452ff3cb00657af979a90f55f6d37dba9dd9" +checksum = "51be349fb9301d2a0fdd0b9ba5341e5f72bf4900ca4c0ede04748bc9038d15e8" dependencies = [ "Inflector", "base64 0.21.7", @@ -5249,9 +4975,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11183dae826f942ebd0401712c8a52367a4a6312f1cd325f304cd9551226fc8b" +checksum = "3274b4bfccd57ecffcf4037cd09fc61777633e0d0c5f8b76abcaa10ee83f3ae5" dependencies = [ "async-trait", "solana-connection-cache", @@ -5264,9 +4990,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d518e61ce22c812df23d9c61ab9bcbef4df3e3d3dcaa74a999625f11bcf07" +checksum = "aaf45873439f73420f60a5e0f87b529923c3489d24a228d5eb8f5ce6955bdc1b" dependencies = [ "log", "rustc_version", @@ -5280,9 +5006,9 @@ dependencies = [ [[package]] name = "solana-vote" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae2a4908ac4df02a4adb78f09fe938b31c75f42ba64401b8ac88193eb446943" +checksum = "f54cb2827041a2acb79e3855e7310466d9bef71650e2304994076b209eaf4d9f" dependencies = [ "crossbeam-channel", "itertools", @@ -5299,9 +5025,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5743503143fb2259c41a973a78e9aeeb8e21f1b03543c3bb85449926ea692719" +checksum = "0e7c7525bda137bbb9bc0dc967a4ffca82786147eb2d1efbf76a8dc52978f0b8" dependencies = [ "bincode", "log", @@ -5321,9 +5047,9 @@ dependencies = [ [[package]] name = "solana-zk-token-proof-program" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5813dc267bea898ff40d3bd662a0a7659170dd19ae5e7c46e8dc0a414a205868" +checksum = "ce8bf8a6d43db385a2beb324110282ae8140a4a040d39f3a0870c43df24c5055" dependencies = [ "bytemuck", "num-derive 0.4.2", @@ -5335,9 +5061,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.18.22" +version = "1.18.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee07fa523b4cfcff68de774db7aa87d2da2c4357155a90bacd9a0a0af70a99" +checksum = "39a57b2f269f24088b6b8e426de05e5c1faa6b5d6f26175c06eb80df96ec685e" dependencies = [ "aes-gcm-siv", "base64 0.21.7", @@ -5438,7 +5164,7 @@ checksum = "07fd7858fc4ff8fb0e34090e41d7eb06a823e1057945c26d480bfc21d2338a93" dependencies = [ "quote", "spl-discriminator-syn", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -5450,7 +5176,7 @@ dependencies = [ "proc-macro2", "quote", "sha2 0.10.8", - "syn 2.0.76", + "syn 2.0.77", "thiserror", ] @@ -5498,7 +5224,7 @@ dependencies = [ "proc-macro2", "quote", "sha2 0.10.8", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -5681,9 +5407,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.76" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -5699,7 +5425,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -5844,7 +5570,7 @@ dependencies = [ "cfg-if", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -5855,7 +5581,7 @@ checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", "test-case-core", ] @@ -5891,7 +5617,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -5995,7 +5721,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -6026,9 +5752,9 @@ dependencies = [ [[package]] name = "tokio-stream" -version = "0.1.15" +version = "0.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +checksum = "4f4e6ce100d0eb49a2734f8c0812bcd324cf357d21810932c5df6b96ef2b86f1" dependencies = [ "futures-core", "pin-project-lite", @@ -6067,9 +5793,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -6100,7 +5826,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "toml_datetime", "winnow 0.5.40", ] @@ -6111,7 +5837,7 @@ version = "0.22.20" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.5.0", "toml_datetime", "winnow 0.6.18", ] @@ -6142,7 +5868,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -6186,7 +5912,6 @@ dependencies = [ "anyhow", "clap 4.3.19", "fehler", - "solana-sdk", "tokio", "trident-client", ] @@ -6195,7 +5920,6 @@ dependencies = [ name = "trident-client" version = "0.7.0" dependencies = [ - "anchor-client", "anchor-lang", "anchor-lang-idl-spec", "anchor-syn", @@ -6205,10 +5929,8 @@ dependencies = [ "borsh 0.10.3", "cargo_metadata", "convert_case", - "ed25519-dalek", "fehler", "futures", - "heck 0.4.1", "honggfuzz", "indicatif", "log", @@ -6218,18 +5940,10 @@ dependencies = [ "quinn-proto", "quote", "regex", - "rstest", "serde", "serde_json", - "serial_test", - "shellexpand", - "solana-account-decoder", - "solana-cli-output", "solana-program-test", "solana-sdk", - "solana-transaction-status", - "spl-associated-token-account", - "spl-token", "syn 1.0.109", "thiserror", "tokio", @@ -6239,7 +5953,6 @@ dependencies = [ "trident-derive-fuzz-deserialize", "trident-derive-fuzz-test-executor", "trident-fuzz", - "trident-test", ] [[package]] @@ -6299,16 +6012,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "trident-test" -version = "0.3.3" -dependencies = [ - "darling 0.13.4", - "macrotest", - "quote", - "syn 1.0.109", -] - [[package]] name = "try-lock" version = "0.2.5" @@ -6350,9 +6053,9 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-normalization" @@ -6400,12 +6103,6 @@ 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" @@ -6528,7 +6225,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", "wasm-bindgen-shared", ] @@ -6562,7 +6259,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6876,7 +6573,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] @@ -6896,7 +6593,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.76", + "syn 2.0.77", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index c389f39d..0a38a157 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,12 +1,11 @@ [workspace] -members = ["crates/cli", "crates/client", "crates/test", "crates/fuzz"] +members = ["crates/cli", "crates/client", "crates/fuzz"] exclude = ["examples/"] resolver = "1" [workspace.dependencies] # ANCHOR -anchor-client = "0.30.1" anchor-syn = "0.30.1" anchor-lang = "0.30.1" anchor-lang-idl-spec = "0.1.0" @@ -14,9 +13,6 @@ anchor-lang-idl-spec = "0.1.0" # SOLANA solana-sdk = "1.17.4" -solana-cli-output = "1.17.4" -solana-transaction-status = "1.17.4" -solana-account-decoder = "1.17.4" solana-program = "1.17.4" solana-banks-client = "1.17.4" solana-program-runtime = "1.17.4" diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index 98792dbb..6877111c 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -11,9 +11,6 @@ description = "Trident is Rust based testing framework providing several conveni # TRIDENT trident-client = { path = "../client", version = "0.7.0" } -# SOLANA -solana-sdk = { workspace = true } - # MISC clap = { version = "=4.3.19", features = ["derive"] } tokio = { version = "1" } diff --git a/crates/cli/src/command.rs b/crates/cli/src/command.rs index a6f4a400..a4d762e7 100644 --- a/crates/cli/src/command.rs +++ b/crates/cli/src/command.rs @@ -1,17 +1,8 @@ -mod build; -pub use build::build; - -mod keypair; -pub use keypair::{keypair, KeyPairCommand}; - mod fuzz; pub use fuzz::{fuzz, FuzzCommand}; -mod test; -pub use test::test; - mod init; -pub use init::{init, TestsType}; +pub use init::init; mod clean; pub use clean::clean; diff --git a/crates/cli/src/command/build.rs b/crates/cli/src/command/build.rs deleted file mode 100644 index 11a3ab4c..00000000 --- a/crates/cli/src/command/build.rs +++ /dev/null @@ -1,27 +0,0 @@ -use anyhow::{bail, Error}; -use fehler::throws; -use trident_client::___private::TestGenerator; - -use crate::_discover; - -use super::fuzz::TRIDENT_TOML; - -#[throws] -pub async fn build(root: Option) { - // if the root is present from the command line we will use it - // if the root is not present we will look for the Cargo.toml file - // Trident does not have to be already defined to actually create/build - // program client - let root = match root { - Some(r) => r, - _ => { - if let Some(r) = _discover(TRIDENT_TOML)? { - r - } else { - bail!("It does not seem that Trident is initialized because the Trident.toml file was not found in any parent directory!"); - } - } - }; - let mut generator: TestGenerator = TestGenerator::new_with_root(root); - generator.build().await?; -} diff --git a/crates/cli/src/command/init.rs b/crates/cli/src/command/init.rs index 182f081d..7a89e2ed 100644 --- a/crates/cli/src/command/init.rs +++ b/crates/cli/src/command/init.rs @@ -1,5 +1,4 @@ use anyhow::{bail, Error}; -use clap::ValueEnum; use fehler::throws; use trident_client::___private::TestGenerator; @@ -7,15 +6,8 @@ use crate::_discover; pub const ANCHOR_TOML: &str = "Anchor.toml"; -#[derive(ValueEnum, Clone)] -pub enum TestsType { - Both, - Fuzz, - Poc, -} - #[throws] -pub async fn init(tests_type: TestsType) { +pub async fn init() { // look for Anchor.toml let root = if let Some(r) = _discover(ANCHOR_TOML)? { r @@ -25,15 +17,5 @@ pub async fn init(tests_type: TestsType) { let mut generator: TestGenerator = TestGenerator::new_with_root(root); - match tests_type { - TestsType::Poc => { - generator.generate_poc().await?; - } - TestsType::Both => { - generator.generate_both().await?; - } - TestsType::Fuzz => { - generator.generate_fuzz().await?; - } - }; + generator.generate_fuzz().await?; } diff --git a/crates/cli/src/command/keypair.rs b/crates/cli/src/command/keypair.rs deleted file mode 100644 index 44a32fb7..00000000 --- a/crates/cli/src/command/keypair.rs +++ /dev/null @@ -1,24 +0,0 @@ -use anyhow::Error; -use clap::Subcommand; -use fehler::throws; -use solana_sdk::signer::Signer; -use trident_client::___private::{keypair as other_keypair, program_keypair, system_keypair}; - -#[derive(Subcommand)] -pub enum KeyPairCommand { - Program { n: usize }, - System { n: usize }, - Other { n: usize }, -} - -#[throws] -pub fn keypair(subcmd: KeyPairCommand) { - let kp = match subcmd { - KeyPairCommand::Program { n } => program_keypair(n), - KeyPairCommand::System { n } => system_keypair(n), - KeyPairCommand::Other { n } => other_keypair(n), - }; - - println!("PubKey: {:?}", kp.pubkey()); - println!("KeyPair: {:?}", kp.to_bytes()); -} diff --git a/crates/cli/src/command/test.rs b/crates/cli/src/command/test.rs deleted file mode 100644 index 0420e3fe..00000000 --- a/crates/cli/src/command/test.rs +++ /dev/null @@ -1,26 +0,0 @@ -use anyhow::{bail, Error}; -use fehler::throws; -use trident_client::___private::Commander; - -use crate::_discover; - -use super::fuzz::TRIDENT_TOML; - -#[throws] -pub async fn test(root: Option) { - // if the root is present from the command line we will use it - // if the root is not present we will look for the Trident.toml file - let root = match root { - Some(r) => r, - _ => { - if let Some(r) = _discover(TRIDENT_TOML)? { - r - } else { - bail!("It does not seem that Trident is initialized because the Trident.toml file was not found in any parent directory!"); - } - } - }; - let commander = Commander::with_root(root); - commander.build_anchor_project().await?; - commander.run_tests().await?; -} diff --git a/crates/cli/src/lib.rs b/crates/cli/src/lib.rs index fbc48799..4a1ea3d0 100644 --- a/crates/cli/src/lib.rs +++ b/crates/cli/src/lib.rs @@ -1,7 +1,6 @@ use anyhow::Error; use anyhow::{Context, Result}; use clap::{Parser, Subcommand}; -use command::TestsType; use fehler::throws; // subcommand functions to call and nested subcommands @@ -9,8 +8,6 @@ mod command; // bring nested subcommand enums into scope use command::FuzzCommand; -use command::KeyPairCommand; - #[derive(Parser)] #[clap(version, propagate_version = true)] struct Cli { @@ -20,23 +17,6 @@ struct Cli { #[derive(Subcommand)] enum Command { - /// Create or update a `program_client` crate - Build { - /// Anchor project root - #[clap(short, long)] - root: Option, - }, - /// Get information about a keypair - KeyPair { - #[clap(subcommand)] - subcmd: KeyPairCommand, - }, - /// Run program Integration tests - Test { - /// Anchor project root - #[clap(short, long)] - root: Option, - }, /// Run and debug Fuzz tests Fuzz { /// Anchor project root @@ -46,11 +26,7 @@ enum Command { subcmd: FuzzCommand, }, /// Initialize test environment - Init { - /// Specifies the types of tests for which the frameworks should be initialized. - #[clap(default_value = "fuzz")] - tests_type: TestsType, - }, + Init, /// Removes target contents except for KeyPair and removes hfuzz_target folder Clean, } @@ -60,11 +36,8 @@ pub async fn start() { let cli = Cli::parse(); match cli.command { - Command::Build { root } => command::build(root).await?, - Command::KeyPair { subcmd } => command::keypair(subcmd)?, - Command::Test { root } => command::test(root).await?, Command::Fuzz { root, subcmd } => command::fuzz(root, subcmd).await?, - Command::Init { tests_type } => command::init(tests_type).await?, + Command::Init => command::init().await?, Command::Clean => command::clean().await?, } } diff --git a/crates/client/Cargo.toml b/crates/client/Cargo.toml index 8af9bc6c..2ddf7795 100644 --- a/crates/client/Cargo.toml +++ b/crates/client/Cargo.toml @@ -20,24 +20,17 @@ trident-derive-fuzz-deserialize = { path = "../fuzz/derive/fuzz_deserialize", ve trident-derive-fuzz-test-executor = { path = "../fuzz/derive/fuzz_test_executor", version = "0.0.2" } trident-derive-accounts-snapshots = { path = "../fuzz/derive/accounts_snapshots", version = "0.0.1" } -trident-test = { path = "../test", version = "0.3.3" } trident-fuzz = { path = "../fuzz", version = "0.1.0" } # ANCHOR # INFO: Anchor-spl is here as dependency only to activate the idl-build feature, so that # users do not have to do it manually in their program's Cargo.toml anchor-lang = { workspace = true, features = ["init-if-needed"] } -anchor-client = { workspace = true, features = ["async"] } anchor-syn = { workspace = true } anchor-lang-idl-spec = { workspace = true } # SOLANA solana-sdk = { workspace = true } -solana-cli-output = { workspace = true } -solana-transaction-status = { workspace = true } -solana-account-decoder = { workspace = true } -spl-token = { workspace = true } -spl-associated-token-account = { workspace = true } solana-program-test = { workspace = true } @@ -48,7 +41,6 @@ arbitrary = { version = "1.3.0", features = ["derive"] } # MISC -shellexpand = "3.1.0" tokio = "1" serde_json = "1.0.72" serde = { version = "1.0.136", default-features = false } @@ -57,16 +49,12 @@ borsh = "0.10.3" futures = "0.3.18" fehler = "1.0.0" thiserror = "1.0.30" -ed25519-dalek = "1.0.1" -serial_test = "2.0.0" anyhow = "1.0.45" cargo_metadata = "0.17.0" syn = { version = "1.0.109", features = ["visit"] } quote = "1.0.14" -heck = { version = "0.4.0", default-features = false } toml = { version = "0.5.8", features = ["preserve_order"] } log = "0.4" -rstest = "0.18.1" proc-macro2 = { version = "1.0.66", default-features = false } quinn-proto = { version = "0.10.6", features = ["arbitrary"] } pathdiff = "0.2.1" diff --git a/crates/client/src/client.rs b/crates/client/src/client.rs deleted file mode 100644 index 59ec46b1..00000000 --- a/crates/client/src/client.rs +++ /dev/null @@ -1,765 +0,0 @@ -use crate::___private::Reader; -use crate::___private::TempClone; -use crate::config::Config; -use anchor_client::{ - anchor_lang::{ - prelude::System, solana_program::program_pack::Pack, AccountDeserialize, Id, - InstructionData, ToAccountMetas, - }, - solana_client::rpc_config::RpcTransactionConfig, - solana_sdk::{ - account::Account, - bpf_loader_upgradeable, - commitment_config::CommitmentConfig, - instruction::Instruction, - pubkey::Pubkey, - signature::read_keypair_file, - signer::{keypair::Keypair, Signer}, - system_instruction, - transaction::Transaction, - }, - Client as AnchorClient, ClientError as Error, Cluster, Program, -}; - -use anchor_lang::prelude::UpgradeableLoaderState; -use borsh::BorshDeserialize; -use fehler::{throw, throws}; -use futures::stream::{self, StreamExt}; -use log::debug; -use serde::de::DeserializeOwned; -use solana_account_decoder::parse_token::UiTokenAmount; -use solana_cli_output::display::println_transaction; -use solana_transaction_status::{EncodedConfirmedTransactionWithStatusMeta, UiTransactionEncoding}; -use spl_associated_token_account::get_associated_token_address; -use spl_associated_token_account::instruction::create_associated_token_account; -use std::{mem, rc::Rc}; -use std::{thread::sleep, time::Duration}; - -// @TODO: Make compatible with the latest Anchor deps. -// https://github.com/project-serum/anchor/pull/1307#issuecomment-1022592683 - -use crate::constants::*; - -type Payer = Rc; - -/// `Client` allows you to send typed RPC requests to a Solana cluster. -pub struct Client { - payer: Keypair, - anchor_client: AnchorClient, -} -/// Implement Default trait for Client, which reads keypair from default path for `solana-keygen new` -impl Default for Client { - fn default() -> Self { - let payer = read_keypair_file(&*shellexpand::tilde(DEFAULT_KEYPAIR_PATH)) - .unwrap_or_else(|_| panic!("Default keypair {DEFAULT_KEYPAIR_PATH} not found.")); - Self { - payer: payer.clone(), - anchor_client: AnchorClient::new_with_options( - Cluster::Localnet, - Rc::new(payer), - CommitmentConfig::confirmed(), - ), - } - } -} - -impl Client { - /// Creates a new `Client` instance. - pub fn new(payer: Keypair) -> Self { - Self { - payer: payer.clone(), - anchor_client: AnchorClient::new_with_options( - Cluster::Localnet, - Rc::new(payer), - CommitmentConfig::confirmed(), - ), - } - } - - /// Gets client's payer. - pub fn payer(&self) -> &Keypair { - &self.payer - } - - /// Gets the internal Anchor client to call Anchor client's methods directly. - pub fn anchor_client(&self) -> &AnchorClient { - &self.anchor_client - } - - /// Creates [Program] instance to communicate with the selected program. - pub fn program(&self, program_id: Pubkey) -> Program { - self.anchor_client.program(program_id).unwrap() - } - - /// Finds out if the Solana localnet is running. - /// - /// Set `retry` to `true` when you want to wait for up to 15 seconds until - /// the localnet is running (until 30 retries with 500ms delays are performed). - pub async fn is_localnet_running(&self, retry: bool) -> bool { - let config = Config::new(); - - let rpc_client = self - .anchor_client - .program(System::id()) - .unwrap() - .async_rpc(); - - for _ in 0..(if retry { - config.test.validator_startup_timeout / RETRY_LOCALNET_EVERY_MILLIS - } else { - 1 - }) { - if rpc_client.get_health().await.is_ok() { - return true; - } - if retry { - sleep(Duration::from_millis(RETRY_LOCALNET_EVERY_MILLIS)); - } - } - false - } - - /// Gets deserialized data from the chosen account serialized with Anchor - /// - /// # Errors - /// - /// It fails when: - /// - the account does not exist. - /// - the Solana cluster is not running. - /// - deserialization failed. - #[throws] - pub async fn account_data(&self, account: Pubkey) -> T - where - T: AccountDeserialize + Send + 'static, - { - let program = self.anchor_client.program(System::id()).unwrap(); - program.account::(account).await.unwrap() - } - - /// Gets deserialized data from the chosen account serialized with Bincode - /// - /// # Errors - /// - /// It fails when: - /// - the account does not exist. - /// - the Solana cluster is not running. - /// - deserialization failed. - #[throws] - pub async fn account_data_bincode(&self, account: Pubkey) -> T - where - T: DeserializeOwned + Send + 'static, - { - let account = self - .get_account(account) - .await? - .ok_or(Error::AccountNotFound)?; - - bincode::deserialize(&account.data) - .map_err(|_| Error::LogParseError("Bincode deserialization failed".to_string()))? - } - - /// Gets deserialized data from the chosen account serialized with Borsh - /// - /// # Errors - /// - /// It fails when: - /// - the account does not exist. - /// - the Solana cluster is not running. - /// - deserialization failed. - #[throws] - pub async fn account_data_borsh(&self, account: Pubkey) -> T - where - T: BorshDeserialize + Send + 'static, - { - let account = self - .get_account(account) - .await? - .ok_or(Error::AccountNotFound)?; - - T::try_from_slice(&account.data) - .map_err(|_| Error::LogParseError("Bincode deserialization failed".to_string()))? - } - - /// Returns all information associated with the account of the provided [Pubkey]. - /// - /// # Errors - /// - /// It fails when the Solana cluster is not running. - #[throws] - pub async fn get_account(&self, account: Pubkey) -> Option { - let rpc_client = self.anchor_client.program(System::id())?.async_rpc(); - rpc_client - .get_account_with_commitment(&account, rpc_client.commitment()) - .await - .unwrap() - .value - } - - /// Sends the Anchor instruction with associated accounts and signers. - /// - /// # Example - /// - /// ```rust,ignore - /// use trident_client::*; - /// - /// pub async fn initialize( - /// client: &Client, - /// state: Pubkey, - /// user: Pubkey, - /// system_program: Pubkey, - /// signers: impl IntoIterator + Send + 'static, - /// ) -> Result { - /// Ok(client - /// .send_instruction( - /// PROGRAM_ID, - /// turnstile::instruction::Initialize {}, - /// turnstile::accounts::Initialize { - /// state: a_state, - /// user: a_user, - /// system_program: a_system_program, - /// }, - /// signers, - /// ) - /// .await?) - /// } - /// ``` - #[throws] - pub async fn send_instruction( - &self, - program: Pubkey, - instruction: impl InstructionData + Send + 'static, - accounts: impl ToAccountMetas + Send + 'static, - signers: impl IntoIterator + Send + 'static, - ) -> EncodedConfirmedTransactionWithStatusMeta { - let program = self.anchor_client.program(program).unwrap(); - let mut request = program.request().args(instruction).accounts(accounts); - let signers = signers.into_iter().collect::>(); - for signer in &signers { - request = request.signer(signer); - } - let signature = request.send().await.unwrap(); - - let rpc_client = self.anchor_client.program(System::id())?.async_rpc(); - rpc_client - .get_transaction_with_config( - &signature, - RpcTransactionConfig { - encoding: Some(UiTransactionEncoding::Binary), - commitment: Some(CommitmentConfig::confirmed()), - max_supported_transaction_version: None, - }, - ) - .await - .unwrap() - } - - /// Sends the transaction with associated instructions and signers. - /// - /// # Example - /// - /// ```rust,ignore - /// #[throws] - /// pub async fn create_account( - /// &self, - /// keypair: &Keypair, - /// lamports: u64, - /// space: u64, - /// owner: &Pubkey, - /// ) -> EncodedConfirmedTransaction { - /// self.send_transaction( - /// &[system_instruction::create_account( - /// &self.payer().pubkey(), - /// &keypair.pubkey(), - /// lamports, - /// space, - /// owner, - /// )], - /// [keypair], - /// ) - /// .await? - /// } - /// ``` - #[throws] - pub async fn send_transaction( - &self, - instructions: &[Instruction], - signers: impl IntoIterator + Send, - ) -> EncodedConfirmedTransactionWithStatusMeta { - let rpc_client = self - .anchor_client - .program(System::id()) - .unwrap() - .async_rpc(); - let mut signers = signers.into_iter().collect::>(); - signers.push(self.payer()); - - let tx = &Transaction::new_signed_with_payer( - instructions, - Some(&self.payer.pubkey()), - &signers, - rpc_client.get_latest_blockhash().await.unwrap(), - ); - // @TODO make this call async with task::spawn_blocking - let signature = rpc_client.send_and_confirm_transaction(tx).await.unwrap(); - let transaction = rpc_client - .get_transaction_with_config( - &signature, - RpcTransactionConfig { - encoding: Some(UiTransactionEncoding::Binary), - commitment: Some(CommitmentConfig::confirmed()), - max_supported_transaction_version: None, - }, - ) - .await - .unwrap(); - - transaction - } - - /// Airdrops lamports to the chosen account. - #[throws] - pub async fn airdrop(&self, address: Pubkey, lamports: u64) { - let rpc_client = self - .anchor_client - .program(System::id()) - .unwrap() - .async_rpc(); - - let signature = rpc_client - .request_airdrop(&address, lamports) - .await - .unwrap(); - - let (airdrop_result, error) = loop { - match rpc_client.get_signature_status(&signature).await.unwrap() { - Some(Ok(_)) => { - debug!("{} lamports airdropped", lamports); - break (true, None); - } - Some(Err(transaction_error)) => break (false, Some(transaction_error)), - None => sleep(Duration::from_millis(500)), - } - }; - if !airdrop_result { - throw!(Error::SolanaClientError(error.unwrap().into())); - } - } - - /// Get balance of an account - #[throws] - pub async fn get_balance(&mut self, address: &Pubkey) -> u64 { - let rpc_client = self.anchor_client.program(System::id())?.async_rpc(); - rpc_client.get_balance(address).await? - } - - /// Get token balance of an token account - #[throws] - pub async fn get_token_balance(&mut self, address: Pubkey) -> UiTokenAmount { - let rpc_client = self.anchor_client.program(System::id())?.async_rpc(); - rpc_client.get_token_account_balance(&address).await? - } - - /// Deploys a program based on it's name. - /// This function wraps boilerplate code required for the successful deployment of a program, - /// i.e. SOLs airdrop etc. - /// - /// # Arguments - /// - /// * `program_keypair` - [Keypair] used for the program - /// * `program_name` - Name of the program to be deployed - /// - /// # Example: - /// - /// *Project structure* - /// - /// ```text - /// project/ - /// - programs/ - /// - awesome_contract/ - /// - ... - /// - Cargo.toml - /// - turnstile/ - /// - ... - /// - Cargo.toml - /// - ... - /// - Cargo.toml - /// ``` - /// - /// *Code* - /// - /// ```rust,ignore - /// client.deploy_program(program_keypair(0), "awesome_contract"); - /// client.deploy_program(program_keypair(1), "turnstile"); - /// ``` - #[throws] - pub async fn deploy_by_name(&self, program_keypair: &Keypair, program_name: &str) { - debug!("reading program data"); - - let reader = Reader::new(); - - let mut program_data = reader - .program_data(program_name) - .await - .expect("reading program data failed"); - - debug!("airdropping the minimum balance required to deploy the program"); - - // TODO: This will fail on devnet where airdrops are limited to 1 SOL - - self.airdrop(self.payer().pubkey(), 5_000_000_000_000) - .await - .expect("airdropping for deployment failed"); - - debug!("deploying program"); - - self.deploy(program_keypair.clone(), mem::take(&mut program_data)) - .await?; - - // this will slow down the process because if we call program instruction right after deploy, - // data are not yet completely deployed so error occures - let deploy_done = loop { - match self.anchor_client.program(program_keypair.pubkey()) { - Ok(_) => { - debug!("program deployed succefully"); - sleep(Duration::from_millis(1000)); - break true; - } - Err(_) => { - sleep(Duration::from_millis(500)); - } - } - }; - - // this is not necessarry, but we want to avoid "throws" macro warning of unused code - if !deploy_done { - throw!(Error::ProgramError( - solana_sdk::program_error::ProgramError::Custom(0) - )); - } - } - - /// Deploys the program. - #[throws] - async fn deploy(&self, program_keypair: Keypair, program_data: Vec) { - const PROGRAM_DATA_CHUNK_SIZE: usize = 900; - let buffer_account = Keypair::new(); - - let program_data_len = program_data.len(); - let size_of_buffer = UpgradeableLoaderState::size_of_buffer(program_data_len); - - let rpc_client = self - .anchor_client - .program(System::id()) - .unwrap() - .async_rpc(); - - let system_program = self.anchor_client.program(System::id()).unwrap(); - - debug!("program_data_len: {}", program_data_len); - - debug!("create program account"); - - let min_balance_for_rent_exemption = rpc_client - .get_minimum_balance_for_rent_exemption(program_data_len) - .await - .unwrap(); - - let min_balance_for_rent_exemption_buffer = rpc_client - .get_minimum_balance_for_rent_exemption(size_of_buffer) - .await - .unwrap(); - - let create_account_ixs = bpf_loader_upgradeable::create_buffer( - &self.payer.pubkey(), - &buffer_account.pubkey(), - &self.payer.pubkey(), - min_balance_for_rent_exemption_buffer, - program_data_len, - ) - .unwrap(); - - debug!("number of ixs = {}", create_account_ixs.len()); - - let mut ix_builder = system_program.request(); - for ix in create_account_ixs { - ix_builder = ix_builder.instruction(ix); - } - - ix_builder - .signer(&buffer_account) - .signer(&self.payer) - .send() - .await - .unwrap(); - - debug!("write program data"); - - let mut offset = 0usize; - let mut futures_vec = Vec::new(); - - for chunk in program_data.chunks(PROGRAM_DATA_CHUNK_SIZE) { - let loader_write_ix = bpf_loader_upgradeable::write( - &buffer_account.pubkey(), - &self.payer.pubkey(), - offset as u32, - chunk.to_vec(), - ); - futures_vec.push(async { - let system_program = self.anchor_client.program(System::id()).unwrap(); - system_program - .request() - .instruction(loader_write_ix) - .signer(&self.payer) - .send() - .await - .unwrap(); - }); - offset += chunk.len(); - } - stream::iter(futures_vec) - .buffer_unordered(500) - .collect::>() - .await; - - debug!("deploy program"); - - let deploy_ixs = bpf_loader_upgradeable::deploy_with_max_program_len( - &self.payer.pubkey(), - &program_keypair.pubkey(), - &buffer_account.pubkey(), - &self.payer.pubkey(), - min_balance_for_rent_exemption, - program_data_len, - ) - .unwrap(); - - let mut ix_builder = system_program.request(); - for ix in deploy_ixs { - ix_builder = ix_builder.instruction(ix); - } - - ix_builder - .signer(&self.payer) - .signer(&program_keypair) - .send() - .await - .unwrap(); - - debug!("program deployed"); - } - - /// Creates accounts. - #[throws] - pub async fn create_account( - &self, - keypair: &Keypair, - lamports: u64, - space: u64, - owner: &Pubkey, - ) -> EncodedConfirmedTransactionWithStatusMeta { - self.send_transaction( - &[system_instruction::create_account( - &self.payer().pubkey(), - &keypair.pubkey(), - lamports, - space, - owner, - )], - [keypair], - ) - .await? - } - - /// Creates rent exempt account. - #[throws] - pub async fn create_account_rent_exempt( - &mut self, - keypair: &Keypair, - space: u64, - owner: &Pubkey, - ) -> EncodedConfirmedTransactionWithStatusMeta { - let rpc_client = self.anchor_client.program(System::id())?.async_rpc(); - self.send_transaction( - &[system_instruction::create_account( - &self.payer().pubkey(), - &keypair.pubkey(), - rpc_client - .get_minimum_balance_for_rent_exemption(space as usize) - .await?, - space, - owner, - )], - [keypair], - ) - .await? - } - - /// Executes a transaction constructing a token mint. - #[throws] - pub async fn create_token_mint( - &self, - mint: &Keypair, - authority: Pubkey, - freeze_authority: Option, - decimals: u8, - ) -> EncodedConfirmedTransactionWithStatusMeta { - let rpc_client = self.anchor_client.program(System::id())?.async_rpc(); - self.send_transaction( - &[ - system_instruction::create_account( - &self.payer().pubkey(), - &mint.pubkey(), - rpc_client - .get_minimum_balance_for_rent_exemption(spl_token::state::Mint::LEN) - .await?, - spl_token::state::Mint::LEN as u64, - &spl_token::ID, - ), - spl_token::instruction::initialize_mint( - &spl_token::ID, - &mint.pubkey(), - &authority, - freeze_authority.as_ref(), - decimals, - ) - .unwrap(), - ], - [mint], - ) - .await? - } - - /// Executes a transaction that mints tokens from a mint to an account belonging to that mint. - #[throws] - pub async fn mint_tokens( - &self, - mint: Pubkey, - authority: &Keypair, - account: Pubkey, - amount: u64, - ) -> EncodedConfirmedTransactionWithStatusMeta { - self.send_transaction( - &[spl_token::instruction::mint_to( - &spl_token::ID, - &mint, - &account, - &authority.pubkey(), - &[], - amount, - ) - .unwrap()], - [authority], - ) - .await? - } - - /// Executes a transaction constructing a token account of the specified mint. The account needs to be empty and belong to system for this to work. - /// Prefer to use [create_associated_token_account] if you don't need the provided account to contain the token account. - #[throws] - pub async fn create_token_account( - &self, - account: &Keypair, - mint: &Pubkey, - owner: &Pubkey, - ) -> EncodedConfirmedTransactionWithStatusMeta { - let rpc_client = self.anchor_client.program(System::id())?.async_rpc(); - self.send_transaction( - &[ - system_instruction::create_account( - &self.payer().pubkey(), - &account.pubkey(), - rpc_client - .get_minimum_balance_for_rent_exemption(spl_token::state::Account::LEN) - .await?, - spl_token::state::Account::LEN as u64, - &spl_token::ID, - ), - spl_token::instruction::initialize_account( - &spl_token::ID, - &account.pubkey(), - mint, - owner, - ) - .unwrap(), - ], - [account], - ) - .await? - } - - /// Executes a transaction constructing the associated token account of the specified mint belonging to the owner. This will fail if the account already exists. - #[throws] - pub async fn create_associated_token_account(&self, owner: &Keypair, mint: Pubkey) -> Pubkey { - self.send_transaction( - &[create_associated_token_account( - &self.payer().pubkey(), - &owner.pubkey(), - &mint, - &spl_token::ID, - )], - &[], - ) - .await?; - get_associated_token_address(&owner.pubkey(), &mint) - } - - /// Executes a transaction creating and filling the given account with the given data. - /// The account is required to be empty and will be owned by bpf_loader afterwards. - #[throws] - pub async fn create_account_with_data(&self, account: &Keypair, data: Vec) { - const DATA_CHUNK_SIZE: usize = 900; - - let rpc_client = self.anchor_client.program(System::id())?.async_rpc(); - self.send_transaction( - &[system_instruction::create_account( - &self.payer().pubkey(), - &account.pubkey(), - rpc_client - .get_minimum_balance_for_rent_exemption(data.len()) - .await?, - data.len() as u64, - &bpf_loader_upgradeable::id(), - )], - [account], - ) - .await?; - - let mut offset = 0usize; - for chunk in data.chunks(DATA_CHUNK_SIZE) { - debug!("writing bytes {} to {}", offset, offset + chunk.len()); - self.send_transaction( - &[bpf_loader_upgradeable::write( - &account.pubkey(), - &bpf_loader_upgradeable::id(), - offset as u32, - chunk.to_vec(), - )], - [account], - ) - .await?; - offset += chunk.len(); - } - } -} - -/// Utility trait for printing transaction results. -pub trait PrintableTransaction { - /// Pretty print the transaction results, tagged with the given name for distinguishability. - fn print_named(&self, name: &str); - - /// Pretty print the transaction results. - fn print(&self) { - self.print_named(""); - } -} - -impl PrintableTransaction for EncodedConfirmedTransactionWithStatusMeta { - fn print_named(&self, name: &str) { - let tx = self.transaction.transaction.decode().unwrap(); - debug!("EXECUTE {} (slot {})", name, self.slot); - match self.transaction.meta.clone() { - Some(meta) => println_transaction(&tx, Some(&meta), " ", None, None), - _ => println_transaction(&tx, None, " ", None, None), - } - } -} diff --git a/crates/client/src/commander.rs b/crates/client/src/commander.rs index bf65a0e3..d43de0f5 100644 --- a/crates/client/src/commander.rs +++ b/crates/client/src/commander.rs @@ -1,14 +1,10 @@ -use crate::___private::Client; use crate::config::Config; use fehler::{throw, throws}; -use log::debug; -use solana_sdk::signer::keypair::Keypair; use std::path::PathBuf; use std::process; use std::{borrow::Cow, io, os::unix::process::CommandExt, process::Stdio, string::FromUtf8Error}; use thiserror::Error; use tokio::{ - fs, io::AsyncWriteExt, process::{Child, Command}, signal, @@ -48,48 +44,6 @@ pub enum Error { NoProgramsFound, } -/// Localnet (the validator process) handle. -pub struct LocalnetHandle { - solana_test_validator_process: Child, -} - -impl LocalnetHandle { - /// Stops the localnet. - /// - /// _Note_: Manual kill: `kill -9 $(lsof -t -i:8899)` - /// - /// # Errors - /// - /// It fails when: - /// - killing the process failed. - /// - process is still running after the kill command has been performed. - #[throws] - pub async fn stop(mut self) { - self.solana_test_validator_process.kill().await?; - if Client::new(Keypair::new()).is_localnet_running(false).await { - throw!(Error::LocalnetIsStillRunning); - } - debug!("localnet stopped"); - } - - /// Stops the localnet and removes the ledger. - /// - /// _Note_: Manual kill: `kill -9 $(lsof -t -i:8899)` - /// - /// # Errors - /// - /// It fails when: - /// - killing the process failed. - /// - process is still running after the kill command has been performed. - /// - cannot remove localnet data (the `test-ledger` directory). - #[throws] - pub async fn stop_and_remove_ledger(self) { - self.stop().await?; - fs::remove_dir_all("test-ledger").await?; - debug!("ledger removed"); - } -} - /// `Commander` allows you to start localnet, build programs, /// run tests and do other useful operations. pub struct Commander { @@ -121,25 +75,6 @@ impl Commander { throw!(Error::BuildProgramsFailed); } } - /// Runs standard Rust tests. - /// - /// _Note_: The [--nocapture](https://doc.rust-lang.org/cargo/commands/cargo-test.html#display-options) argument is used - /// to allow you read `println` outputs in your terminal window. - #[throws] - pub async fn run_tests(&self) { - let success = Command::new("cargo") - .arg("test") - .args(["--package", "poc_tests"]) - .arg("--") - .arg("--nocapture") - .spawn()? - .wait() - .await? - .success(); - if !success { - throw!(Error::TestingFailed); - } - } /// Runs fuzzer on the given target with exit code option. #[throws] pub async fn run_fuzzer_with_exit_code(&self, target: String) { @@ -443,25 +378,6 @@ impl Commander { } } - #[throws] - pub fn get_use_statements(code: &str, use_modules: &mut Vec) { - for item in syn::parse_file(code).unwrap().items.into_iter() { - if let syn::Item::Mod(module) = item { - let modules = module - .content - .ok_or("account mod: empty content") - .unwrap() - .1 - .into_iter(); - for module in modules { - if let syn::Item::Use(u) = module { - use_modules.push(u); - } - } - } - } - } - /// Formats program code. #[throws] pub async fn format_program_code(code: &str) -> String { @@ -495,28 +411,6 @@ impl Commander { let output = rustfmt.wait_with_output().await?; String::from_utf8(output.stdout)? } - - /// Starts the localnet (Solana validator). - #[throws] - pub async fn start_localnet(&self) -> LocalnetHandle { - let mut process = Command::new("solana-test-validator") - .arg("-C") - .arg([&self.root, "config.yml"].concat()) - .arg("-r") - .arg("-q") - .spawn()?; - - if !Client::new(Keypair::new()).is_localnet_running(true).await { - // The validator might not be running, but the process might be still alive (very slow start, some bug, ...), - // therefore we want to kill it if it's still running so ports aren't held. - process.kill().await.ok(); - throw!(Error::LocalnetIsNotRunning); - } - debug!("localnet started"); - LocalnetHandle { - solana_test_validator_process: process, - } - } } impl Default for Commander { diff --git a/crates/client/src/config.rs b/crates/client/src/config.rs index 1df19f12..1e15d3ba 100644 --- a/crates/client/src/config.rs +++ b/crates/client/src/config.rs @@ -18,30 +18,6 @@ pub enum Error { Toml(#[from] toml::de::Error), } -#[derive(Debug, Deserialize, Clone)] -pub struct Test { - pub validator_startup_timeout: u64, -} -#[derive(Default, Debug, Deserialize, Clone)] -struct _Test { - #[serde(default)] - pub validator_startup_timeout: Option, -} -impl Default for Test { - fn default() -> Self { - Self { - validator_startup_timeout: 10_000, - } - } -} -impl From<_Test> for Test { - fn from(_t: _Test) -> Self { - Self { - validator_startup_timeout: _t.validator_startup_timeout.unwrap_or(10_000), - } - } -} - #[derive(Debug, Deserialize, Clone)] pub struct Cfg { pub cfg_identifier: String, @@ -309,15 +285,12 @@ impl HonggFuzzArg { #[derive(Debug, Deserialize, Clone)] pub struct Config { - pub test: Test, pub honggfuzz: HonggFuzz, pub fuzz: Fuzz, } #[derive(Default, Debug, Deserialize, Clone)] struct _Config { - #[serde(default)] - pub test: Option<_Test>, #[serde(default)] pub honggfuzz: Option<_HonggFuzz>, #[serde(default)] @@ -327,7 +300,6 @@ struct _Config { impl From<_Config> for Config { fn from(_c: _Config) -> Self { Self { - test: _c.test.unwrap_or_default().into(), honggfuzz: _c.honggfuzz.unwrap_or_default().into(), fuzz: _c.fuzz.unwrap_or_default().into(), } @@ -465,7 +437,6 @@ mod tests { #[test] fn test_merge_and_precedence1() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz::default(), }; @@ -479,7 +450,6 @@ mod tests { #[test] fn test_merge_and_precedence2() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz::default(), }; @@ -494,7 +464,6 @@ mod tests { #[test] fn test_merge_and_precedence3() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz::default(), }; @@ -508,7 +477,6 @@ mod tests { #[test] fn test_merge_and_precedence4() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz::default(), }; @@ -522,7 +490,6 @@ mod tests { #[test] fn test_merge_and_precedence5() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz::default(), }; @@ -536,7 +503,6 @@ mod tests { #[test] fn test_obtain_env_variables() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz::default(), }; @@ -550,7 +516,6 @@ mod tests { #[test] fn test_obtain_env_variables2() { let mut config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz::default(), }; @@ -575,7 +540,6 @@ mod tests { #[test] fn test_obtain_rustflags_variable1() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz::default(), }; @@ -588,7 +552,6 @@ mod tests { #[test] fn test_obtain_rustflags_variable2() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz { rust_flags: vec![Cfg { @@ -606,7 +569,6 @@ mod tests { #[test] fn test_obtain_rustflags_variable3() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz { rust_flags: vec![ @@ -630,7 +592,6 @@ mod tests { #[test] fn test_obtain_rustflags_variable4() { let config = Config { - test: Test::default(), honggfuzz: HonggFuzz::default(), fuzz: Fuzz { rust_flags: vec![Cfg { diff --git a/crates/client/src/error_reporter.rs b/crates/client/src/error_reporter.rs deleted file mode 100644 index cca1b488..00000000 --- a/crates/client/src/error_reporter.rs +++ /dev/null @@ -1,39 +0,0 @@ -use anchor_client::solana_client::client_error::ClientErrorKind; -use anchor_client::solana_client::rpc_request::RpcError::RpcResponseError; -use anchor_client::solana_client::rpc_request::RpcResponseErrorData; -use anchor_client::solana_client::rpc_response::RpcSimulateTransactionResult; -use anchor_client::ClientError; -use anyhow::Error; - -trait ErrorReporter { - fn report(error: &T); -} - -impl ErrorReporter for ClientError { - fn report(error: &ClientError) { - if let ClientError::SolanaClientError(err) = error { - if let ClientErrorKind::RpcError(RpcResponseError { - data, - code, - message, - }) = err.kind() - { - let formatted_data = match data { - RpcResponseErrorData::SendTransactionPreflightFailure( - RpcSimulateTransactionResult { - logs: Some(logs), .. - }, - ) => logs.join("\n "), - _ => "".to_string(), - }; - println!("RpcResponseError [{code}]: {message}\n{formatted_data}"); - } - } - } -} - -pub fn report_error(error: &Error) { - if let Some(err) = error.downcast_ref::() { - ClientError::report(err); - }; -} diff --git a/crates/client/src/keys.rs b/crates/client/src/keys.rs deleted file mode 100644 index 0f024f81..00000000 --- a/crates/client/src/keys.rs +++ /dev/null @@ -1,1970 +0,0 @@ -use std::error::Error; - -use anchor_client::solana_sdk::signer::keypair::Keypair; -use heck::ToSnakeCase; -use solana_sdk::signer::EncodableKey; - -use crate::config::Config; -use thiserror::Error; - -#[derive(Error, Debug)] -pub enum KeyPairError { - #[error("Cannot find the Anchor.toml file to locate the root folder")] - BadWorkspace, - #[error("Cannot the program keypair JSON file generated by Anchor")] - AnchorKeypairNotFound, -} - -/// Reads program keypair JSON file generated by Anchor based on `program_name`. Returns error if not found. -pub fn anchor_keypair(program_name: &str) -> Result> { - let root = match Config::discover_root() { - Ok(root) => root, - Err(_) => return Err(KeyPairError::BadWorkspace.into()), - }; - let keypair_path = root - .join("target") - .join("deploy") - .join(format!("{}-keypair.json", program_name.to_snake_case())); - - if !keypair_path.exists() { - return Err(KeyPairError::AnchorKeypairNotFound.into()); - } - - Keypair::read_from_file(keypair_path) -} - -/// Generate a random keypair. -pub fn random_keypair() -> Keypair { - Keypair::new() -} - -/// Returns a recognisable Keypair of your created program. The public key will start with `Pxx`, where -/// xx are the three digits of the number. `o` is used instead of `0`, as `0` is not part of the base58 charset. -/// You shouldn't call the method with the same `n` twice. -/// The `n` must be a number between `0` and `29`. -pub fn program_keypair(n: usize) -> Keypair { - Keypair::from_bytes(&PROGRAM_KEYPAIRS[n]).unwrap() -} - -/// Returns a system wallet (wallet which is owned by the system) but it is not required, you can also use the -/// `keypair` method bellow. The public key will start with `Sxx`, where xx are the three digits of the number. -/// You shouldn't call the method with the same `n` twice. `o` is used instead of `0`, as `0` is not part of -/// the base58 charset. Returns a recognisable `Keypair`. This is NOT the same as -/// `anchor_lang::system_program::System::id()`! -/// The `n` must be a number between `0` and `29`. -pub fn system_keypair(n: usize) -> Keypair { - Keypair::from_bytes(&SYSTEM_KEYPAIRS[n]).unwrap() -} - -/// Returns a recognisable `Keypair` / wallet that can be used for the mint account for example. The public key will -/// start with `Txxx`, where xxx are the three digits of the number. You shouldn't call the method with the same `n` -/// twice. `o` is used instead of `0`, as `0` is not part of the base58 charset. -/// The `n` must be a number between `0` and `255`. -pub fn keypair(n: usize) -> Keypair { - Keypair::from_bytes(&KEYPAIRS[n]).unwrap() -} - -const PROGRAM_KEYPAIRS: [[u8; 64]; 30] = [ - [ - 61, 157, 195, 135, 80, 255, 3, 105, 232, 208, 28, 48, 69, 104, 225, 202, 144, 183, 0, 123, - 108, 57, 165, 199, 168, 154, 194, 115, 18, 233, 99, 174, 5, 215, 176, 66, 255, 47, 77, 122, - 100, 249, 156, 251, 44, 92, 36, 220, 226, 147, 127, 109, 198, 92, 1, 127, 95, 116, 186, - 180, 149, 157, 170, 34, - ], - [ - 115, 20, 226, 132, 54, 40, 108, 27, 21, 233, 199, 9, 90, 168, 167, 69, 175, 181, 182, 174, - 214, 184, 157, 137, 114, 114, 226, 87, 210, 243, 155, 241, 5, 214, 204, 101, 166, 163, 239, - 244, 13, 110, 64, 106, 230, 81, 141, 186, 208, 155, 78, 83, 194, 215, 103, 17, 94, 15, 137, - 68, 170, 153, 74, 59, - ], - [ - 191, 85, 18, 63, 208, 75, 42, 145, 212, 219, 81, 193, 154, 166, 106, 108, 1, 164, 231, 217, - 149, 101, 238, 89, 119, 38, 15, 28, 206, 111, 47, 215, 5, 214, 210, 199, 34, 74, 85, 157, - 68, 66, 165, 143, 204, 94, 197, 81, 54, 83, 232, 47, 209, 232, 119, 226, 102, 194, 188, - 254, 117, 135, 234, 243, - ], - [ - 41, 29, 239, 7, 234, 199, 227, 196, 223, 131, 104, 98, 220, 160, 58, 114, 180, 114, 23, - 144, 186, 182, 21, 177, 18, 111, 210, 30, 175, 30, 208, 215, 5, 214, 215, 1, 41, 54, 230, - 115, 153, 67, 189, 136, 246, 187, 201, 55, 37, 168, 236, 76, 147, 174, 37, 128, 234, 92, - 119, 171, 79, 75, 69, 196, - ], - [ - 171, 200, 40, 123, 245, 201, 148, 0, 96, 64, 128, 50, 11, 46, 51, 93, 44, 82, 174, 201, 87, - 213, 26, 8, 181, 77, 16, 229, 178, 77, 156, 55, 5, 214, 217, 185, 61, 91, 189, 225, 111, - 222, 82, 41, 84, 31, 92, 138, 4, 116, 127, 218, 182, 108, 142, 217, 254, 167, 211, 153, 21, - 14, 95, 89, - ], - [ - 82, 166, 92, 9, 117, 222, 241, 216, 35, 191, 159, 153, 106, 104, 130, 152, 166, 149, 148, - 80, 113, 43, 203, 59, 222, 84, 225, 145, 171, 68, 54, 233, 5, 214, 225, 100, 82, 153, 150, - 71, 144, 220, 128, 108, 6, 163, 16, 56, 185, 168, 21, 103, 86, 41, 93, 251, 204, 135, 190, - 53, 244, 49, 211, 168, - ], - [ - 171, 133, 217, 168, 0, 45, 116, 52, 167, 114, 162, 45, 175, 69, 204, 4, 59, 138, 192, 102, - 204, 51, 250, 130, 71, 224, 199, 66, 160, 11, 39, 183, 5, 214, 228, 13, 138, 249, 235, 51, - 59, 84, 146, 168, 96, 38, 12, 165, 115, 173, 255, 226, 119, 164, 154, 95, 164, 221, 99, - 125, 6, 48, 228, 134, - ], - [ - 35, 35, 155, 136, 3, 80, 201, 174, 251, 247, 24, 245, 74, 195, 181, 124, 28, 139, 208, 108, - 84, 237, 239, 210, 32, 198, 77, 34, 0, 229, 129, 117, 5, 214, 236, 27, 246, 56, 249, 90, - 143, 2, 52, 77, 239, 43, 247, 221, 12, 161, 118, 179, 224, 224, 141, 242, 87, 188, 167, - 194, 189, 9, 2, 240, - ], - [ - 253, 98, 240, 121, 62, 145, 80, 216, 185, 19, 114, 217, 18, 16, 80, 240, 185, 24, 138, 228, - 185, 229, 218, 24, 116, 89, 209, 65, 135, 100, 128, 118, 5, 214, 239, 58, 114, 151, 218, - 23, 115, 211, 109, 171, 244, 210, 156, 47, 250, 168, 157, 98, 83, 7, 236, 150, 238, 226, - 191, 69, 100, 128, 159, 2, - ], - [ - 216, 254, 181, 245, 125, 80, 254, 164, 14, 65, 33, 56, 37, 117, 216, 114, 66, 198, 5, 190, - 102, 228, 168, 19, 44, 20, 107, 255, 246, 52, 152, 36, 5, 214, 244, 18, 112, 3, 110, 230, - 216, 184, 30, 64, 134, 86, 57, 77, 58, 242, 152, 31, 118, 241, 108, 250, 243, 211, 236, - 138, 204, 205, 172, 140, - ], - [ - 86, 211, 152, 112, 55, 84, 5, 174, 230, 71, 132, 116, 116, 220, 51, 20, 87, 175, 183, 100, - 241, 27, 194, 253, 117, 250, 216, 86, 76, 251, 160, 220, 5, 163, 176, 106, 234, 180, 198, - 38, 59, 215, 220, 144, 180, 48, 144, 229, 136, 76, 36, 254, 29, 144, 244, 71, 148, 106, - 119, 27, 21, 111, 16, 166, - ], - [ - 139, 118, 64, 116, 114, 209, 117, 67, 252, 109, 250, 63, 218, 105, 50, 140, 155, 167, 168, - 225, 237, 200, 218, 50, 220, 28, 139, 65, 227, 46, 2, 141, 5, 162, 203, 102, 236, 78, 158, - 100, 23, 85, 134, 112, 7, 102, 143, 42, 222, 29, 161, 226, 197, 1, 30, 241, 128, 232, 190, - 79, 148, 41, 219, 3, - ], - [ - 215, 239, 225, 56, 12, 205, 148, 100, 77, 110, 222, 65, 63, 199, 72, 183, 143, 218, 154, - 13, 135, 119, 206, 91, 210, 159, 79, 202, 84, 135, 164, 243, 5, 162, 205, 122, 37, 16, 18, - 216, 146, 96, 10, 12, 55, 108, 120, 245, 174, 199, 65, 164, 50, 191, 126, 47, 31, 98, 165, - 202, 208, 155, 109, 74, - ], - [ - 57, 5, 16, 162, 172, 242, 249, 57, 56, 64, 233, 131, 129, 116, 80, 72, 171, 242, 242, 37, - 197, 180, 31, 32, 13, 71, 56, 100, 25, 42, 127, 89, 5, 162, 212, 219, 158, 46, 163, 139, - 66, 223, 87, 199, 155, 103, 191, 47, 251, 126, 226, 91, 24, 18, 205, 155, 117, 185, 235, - 123, 38, 55, 245, 107, - ], - [ - 220, 223, 5, 192, 202, 47, 164, 91, 174, 232, 68, 55, 121, 52, 141, 160, 206, 157, 123, 88, - 49, 210, 7, 38, 195, 91, 218, 61, 201, 86, 115, 55, 5, 162, 218, 0, 65, 176, 130, 107, 85, - 14, 191, 100, 157, 125, 86, 105, 91, 189, 129, 233, 233, 44, 170, 50, 58, 48, 148, 216, 32, - 1, 201, 232, - ], - [ - 173, 204, 9, 210, 226, 22, 79, 10, 233, 99, 173, 137, 160, 108, 7, 48, 127, 17, 23, 230, - 188, 206, 21, 97, 182, 210, 212, 135, 133, 202, 185, 38, 5, 162, 222, 34, 92, 3, 221, 133, - 83, 96, 84, 219, 223, 48, 240, 0, 199, 116, 250, 152, 23, 4, 30, 242, 18, 120, 255, 53, - 148, 162, 249, 69, - ], - [ - 184, 155, 33, 167, 240, 162, 252, 234, 218, 99, 164, 243, 48, 64, 85, 66, 157, 110, 16, 28, - 255, 133, 141, 114, 18, 80, 135, 118, 188, 28, 176, 82, 5, 162, 225, 84, 249, 79, 10, 199, - 158, 219, 67, 211, 97, 228, 72, 171, 141, 23, 55, 34, 255, 23, 89, 101, 116, 193, 82, 220, - 219, 223, 204, 79, - ], - [ - 217, 67, 86, 133, 205, 198, 33, 118, 112, 252, 62, 77, 89, 7, 253, 138, 23, 105, 160, 188, - 132, 64, 179, 65, 253, 84, 156, 141, 173, 42, 176, 64, 5, 162, 231, 187, 67, 82, 116, 208, - 24, 99, 5, 133, 68, 37, 61, 136, 79, 254, 175, 215, 233, 211, 218, 116, 224, 39, 255, 9, - 34, 220, 56, 190, - ], - [ - 137, 113, 100, 18, 124, 248, 1, 10, 118, 93, 60, 212, 55, 137, 226, 126, 139, 3, 239, 235, - 69, 110, 160, 36, 42, 61, 236, 7, 201, 177, 28, 70, 5, 162, 237, 58, 211, 123, 87, 249, 6, - 164, 83, 67, 65, 107, 217, 88, 98, 171, 1, 70, 55, 211, 88, 188, 95, 49, 23, 138, 191, 35, - 185, 69, - ], - [ - 137, 239, 207, 110, 179, 208, 0, 162, 255, 236, 20, 225, 101, 128, 87, 22, 30, 10, 170, - 115, 141, 71, 143, 189, 185, 50, 32, 28, 152, 227, 232, 205, 5, 162, 240, 75, 90, 92, 83, - 165, 238, 200, 233, 203, 4, 50, 117, 147, 24, 1, 67, 90, 126, 25, 158, 192, 158, 55, 110, - 24, 100, 129, 42, 2, - ], - [ - 62, 204, 25, 128, 116, 168, 28, 41, 42, 112, 153, 22, 121, 110, 196, 3, 153, 93, 165, 188, - 1, 182, 0, 159, 220, 218, 140, 221, 157, 227, 247, 75, 5, 164, 206, 181, 195, 12, 59, 46, - 147, 179, 116, 237, 135, 163, 238, 155, 97, 225, 208, 233, 141, 67, 109, 20, 33, 19, 98, - 29, 106, 176, 202, 198, - ], - [ - 160, 185, 173, 21, 118, 246, 44, 232, 209, 37, 44, 2, 201, 27, 82, 207, 43, 70, 105, 6, - 240, 67, 189, 175, 158, 132, 90, 76, 192, 235, 70, 243, 5, 163, 234, 209, 128, 246, 146, - 246, 94, 95, 229, 115, 124, 149, 100, 165, 255, 159, 40, 185, 38, 8, 117, 130, 51, 197, - 102, 177, 223, 164, 99, 167, - ], - [ - 4, 229, 231, 21, 161, 43, 92, 90, 98, 189, 133, 101, 28, 196, 164, 29, 33, 63, 102, 139, - 145, 207, 19, 209, 235, 182, 43, 196, 16, 19, 165, 214, 5, 163, 240, 120, 19, 217, 214, 9, - 200, 74, 14, 182, 82, 205, 118, 14, 82, 121, 156, 70, 133, 103, 105, 151, 1, 35, 208, 34, - 84, 143, 229, 156, - ], - [ - 162, 179, 187, 36, 149, 63, 31, 155, 49, 244, 64, 199, 8, 2, 44, 61, 105, 254, 11, 199, - 183, 11, 166, 121, 168, 198, 92, 129, 238, 7, 49, 47, 5, 163, 243, 25, 127, 147, 80, 90, - 77, 157, 224, 40, 119, 63, 154, 106, 147, 162, 16, 166, 192, 32, 229, 99, 142, 251, 241, - 43, 214, 73, 134, 212, - ], - [ - 126, 95, 214, 238, 63, 213, 247, 189, 248, 145, 254, 93, 206, 239, 229, 77, 85, 196, 143, - 132, 42, 130, 113, 228, 64, 33, 42, 41, 97, 160, 218, 115, 5, 163, 251, 241, 251, 159, 232, - 178, 79, 159, 105, 222, 12, 160, 244, 195, 130, 209, 162, 82, 150, 207, 181, 56, 185, 212, - 20, 224, 187, 96, 57, 243, - ], - [ - 88, 49, 143, 170, 23, 146, 24, 199, 168, 101, 104, 93, 245, 77, 15, 7, 25, 172, 3, 199, 48, - 77, 240, 105, 209, 205, 218, 80, 105, 55, 236, 185, 5, 163, 255, 181, 30, 188, 217, 170, - 30, 195, 193, 163, 119, 112, 34, 179, 174, 93, 145, 237, 98, 57, 76, 223, 185, 194, 128, - 90, 18, 199, 216, 131, - ], - [ - 121, 72, 45, 12, 153, 139, 48, 150, 113, 216, 60, 48, 1, 63, 56, 51, 251, 148, 161, 129, - 120, 214, 149, 146, 26, 132, 191, 246, 212, 96, 169, 114, 5, 164, 3, 119, 86, 168, 246, - 214, 105, 255, 229, 182, 207, 243, 195, 0, 17, 77, 208, 76, 80, 221, 138, 159, 194, 254, - 244, 33, 236, 14, 81, 106, - ], - [ - 20, 13, 126, 144, 73, 83, 33, 62, 155, 53, 117, 79, 9, 163, 90, 21, 14, 51, 222, 200, 219, - 64, 67, 30, 178, 180, 236, 42, 139, 109, 158, 224, 5, 164, 7, 37, 112, 53, 33, 221, 118, - 241, 173, 172, 16, 217, 153, 95, 134, 250, 157, 89, 163, 253, 122, 203, 32, 138, 200, 89, - 171, 62, 132, 231, - ], - [ - 97, 29, 15, 140, 10, 190, 127, 6, 162, 170, 206, 115, 225, 146, 87, 201, 97, 24, 51, 84, - 154, 230, 160, 30, 188, 14, 57, 27, 0, 117, 189, 104, 5, 164, 12, 154, 58, 133, 92, 9, 63, - 127, 84, 181, 119, 67, 116, 26, 68, 41, 36, 172, 79, 233, 41, 194, 170, 15, 129, 215, 206, - 25, 191, 183, - ], - [ - 13, 228, 228, 215, 83, 19, 251, 159, 50, 232, 111, 202, 219, 161, 142, 156, 200, 3, 128, - 39, 11, 9, 228, 195, 50, 209, 255, 17, 106, 23, 7, 117, 5, 164, 16, 163, 33, 252, 26, 88, - 17, 109, 224, 226, 133, 29, 0, 81, 184, 249, 7, 179, 81, 24, 213, 172, 24, 152, 28, 240, - 117, 212, 198, 136, - ], -]; - -const SYSTEM_KEYPAIRS: [[u8; 64]; 30] = [ - [ - 187, 236, 106, 127, 243, 111, 25, 178, 137, 168, 177, 52, 161, 4, 29, 21, 51, 9, 111, 32, - 144, 165, 27, 253, 227, 217, 201, 228, 116, 36, 237, 134, 6, 156, 110, 85, 39, 237, 12, - 254, 195, 177, 65, 249, 74, 84, 131, 22, 183, 234, 63, 13, 157, 34, 156, 63, 42, 252, 187, - 195, 54, 178, 193, 173, - ], - [ - 158, 102, 41, 129, 19, 41, 37, 156, 84, 252, 157, 250, 101, 177, 161, 83, 194, 105, 58, 14, - 155, 63, 245, 138, 230, 137, 50, 55, 236, 159, 247, 242, 6, 155, 140, 241, 200, 155, 80, - 222, 22, 88, 77, 233, 246, 147, 13, 154, 178, 199, 194, 178, 202, 73, 216, 55, 161, 120, - 240, 37, 127, 149, 183, 74, - ], - [ - 88, 0, 68, 76, 62, 142, 185, 17, 202, 185, 127, 70, 169, 25, 93, 82, 46, 69, 169, 180, 204, - 209, 85, 169, 60, 71, 26, 236, 68, 179, 243, 79, 6, 155, 146, 45, 190, 67, 7, 90, 162, 187, - 26, 129, 203, 210, 19, 28, 157, 26, 77, 18, 25, 106, 164, 39, 63, 20, 87, 200, 66, 113, - 240, 254, - ], - [ - 109, 51, 45, 169, 177, 241, 46, 91, 92, 21, 200, 134, 214, 31, 130, 187, 96, 39, 207, 215, - 75, 80, 177, 74, 14, 176, 102, 152, 47, 58, 251, 131, 6, 155, 148, 9, 189, 38, 117, 39, - 136, 74, 120, 109, 51, 117, 208, 49, 221, 227, 243, 176, 174, 33, 225, 255, 40, 171, 206, - 71, 214, 130, 5, 149, - ], - [ - 156, 39, 37, 145, 138, 34, 184, 167, 218, 173, 3, 157, 117, 246, 202, 184, 139, 24, 1, 199, - 76, 245, 47, 187, 114, 123, 1, 91, 5, 6, 213, 233, 6, 155, 155, 240, 127, 119, 215, 7, 150, - 141, 212, 124, 230, 79, 109, 100, 43, 230, 254, 234, 228, 196, 127, 42, 139, 100, 180, 16, - 231, 55, 209, 176, - ], - [ - 48, 22, 134, 239, 183, 168, 41, 191, 180, 245, 51, 50, 231, 124, 192, 87, 231, 47, 91, 54, - 147, 16, 104, 202, 114, 244, 251, 50, 230, 32, 200, 158, 6, 155, 157, 218, 36, 218, 200, - 253, 100, 6, 126, 122, 148, 65, 152, 195, 106, 248, 16, 57, 89, 23, 67, 72, 129, 1, 38, - 114, 53, 19, 51, 100, - ], - [ - 220, 204, 213, 79, 193, 40, 36, 44, 194, 13, 60, 210, 188, 249, 39, 127, 123, 232, 101, - 250, 97, 27, 100, 142, 242, 83, 178, 12, 89, 237, 203, 127, 6, 155, 162, 98, 77, 45, 83, - 141, 179, 228, 241, 238, 150, 59, 22, 235, 254, 135, 124, 4, 84, 192, 182, 154, 113, 212, - 242, 250, 2, 75, 85, 86, - ], - [ - 241, 33, 162, 128, 11, 75, 89, 154, 242, 23, 120, 181, 203, 252, 175, 228, 155, 163, 46, - 202, 140, 83, 109, 207, 54, 168, 130, 145, 215, 189, 100, 118, 6, 155, 168, 107, 199, 100, - 49, 7, 43, 211, 215, 196, 225, 44, 41, 102, 46, 171, 201, 126, 98, 18, 99, 112, 40, 190, - 169, 8, 200, 13, 230, 61, - ], - [ - 63, 27, 172, 84, 196, 188, 191, 53, 228, 214, 243, 69, 251, 187, 174, 12, 91, 110, 87, 17, - 120, 104, 160, 198, 131, 135, 108, 187, 27, 114, 169, 131, 6, 155, 171, 250, 218, 95, 50, - 182, 67, 172, 118, 53, 51, 192, 160, 127, 17, 69, 133, 208, 169, 137, 126, 72, 14, 168, - 184, 171, 150, 187, 37, 199, - ], - [ - 237, 100, 231, 161, 84, 53, 88, 28, 203, 251, 247, 206, 164, 212, 16, 121, 160, 59, 138, - 181, 255, 120, 99, 170, 214, 231, 66, 191, 93, 236, 216, 68, 6, 155, 177, 30, 196, 0, 218, - 131, 241, 91, 168, 228, 6, 123, 35, 222, 137, 142, 11, 192, 13, 66, 21, 172, 106, 22, 77, - 195, 12, 197, 178, 206, - ], - [ - 157, 210, 95, 228, 234, 71, 183, 37, 65, 100, 5, 200, 177, 221, 134, 179, 48, 222, 102, 64, - 138, 203, 186, 6, 223, 241, 78, 240, 91, 140, 66, 88, 6, 104, 110, 71, 99, 36, 7, 21, 49, - 125, 103, 216, 2, 4, 194, 35, 119, 238, 30, 202, 76, 80, 253, 218, 66, 246, 217, 98, 156, - 109, 118, 197, - ], - [ - 111, 171, 89, 134, 190, 5, 191, 251, 128, 204, 71, 12, 133, 0, 208, 214, 203, 127, 24, 239, - 18, 236, 26, 107, 37, 225, 205, 12, 51, 133, 175, 65, 6, 103, 134, 48, 100, 106, 177, 189, - 104, 27, 198, 248, 76, 121, 148, 255, 131, 186, 35, 30, 213, 199, 0, 233, 152, 137, 228, - 157, 235, 52, 219, 102, - ], - [ - 241, 38, 97, 145, 134, 183, 241, 166, 129, 11, 58, 60, 182, 193, 125, 73, 206, 200, 232, - 254, 98, 102, 217, 225, 44, 42, 242, 80, 54, 46, 52, 206, 6, 103, 139, 221, 23, 127, 112, - 178, 157, 109, 29, 51, 128, 249, 26, 221, 186, 209, 209, 45, 41, 214, 164, 211, 210, 18, - 166, 59, 87, 64, 75, 173, - ], - [ - 199, 173, 205, 163, 187, 176, 123, 222, 46, 55, 200, 124, 159, 147, 161, 67, 197, 26, 117, - 244, 210, 100, 3, 140, 45, 163, 155, 83, 51, 242, 194, 217, 6, 103, 144, 21, 139, 35, 145, - 98, 64, 184, 245, 145, 48, 157, 223, 39, 206, 15, 220, 35, 105, 152, 11, 2, 202, 131, 246, - 172, 163, 171, 229, 3, - ], - [ - 14, 0, 249, 169, 183, 42, 28, 106, 172, 227, 156, 9, 118, 79, 182, 13, 74, 187, 4, 234, - 217, 86, 250, 197, 226, 104, 194, 214, 179, 31, 151, 217, 6, 103, 149, 37, 160, 64, 52, - 243, 66, 113, 242, 113, 66, 56, 42, 240, 75, 216, 65, 70, 252, 24, 75, 200, 7, 84, 121, 52, - 50, 88, 170, 44, - ], - [ - 68, 46, 20, 198, 115, 107, 185, 102, 126, 146, 77, 211, 158, 97, 63, 73, 209, 188, 44, 7, - 195, 200, 57, 138, 178, 251, 228, 6, 204, 200, 143, 238, 6, 103, 156, 127, 186, 7, 246, - 220, 229, 45, 73, 145, 70, 96, 68, 212, 222, 34, 254, 22, 33, 93, 133, 108, 89, 146, 231, - 231, 64, 224, 111, 58, - ], - [ - 38, 206, 221, 194, 128, 97, 78, 238, 140, 242, 53, 183, 246, 252, 197, 209, 20, 168, 94, - 135, 160, 75, 219, 251, 9, 176, 62, 16, 217, 24, 126, 47, 6, 103, 160, 189, 106, 182, 154, - 145, 7, 234, 171, 58, 175, 45, 216, 116, 86, 121, 168, 66, 108, 230, 217, 53, 132, 82, 100, - 146, 94, 82, 35, 197, - ], - [ - 130, 74, 151, 106, 42, 144, 35, 114, 211, 197, 62, 222, 245, 173, 30, 189, 9, 48, 246, 70, - 217, 116, 227, 188, 9, 109, 158, 16, 37, 42, 56, 214, 6, 103, 165, 112, 227, 5, 10, 141, - 83, 104, 107, 192, 116, 9, 249, 92, 123, 221, 67, 61, 188, 135, 43, 78, 161, 43, 108, 200, - 167, 147, 9, 168, - ], - [ - 155, 116, 186, 118, 187, 128, 25, 69, 56, 11, 107, 2, 60, 111, 138, 82, 211, 200, 148, 53, - 230, 170, 5, 40, 72, 71, 245, 5, 178, 249, 237, 93, 6, 103, 169, 119, 187, 210, 112, 245, - 13, 70, 188, 228, 236, 21, 187, 70, 103, 118, 212, 207, 205, 104, 101, 114, 51, 115, 129, - 64, 116, 109, 164, 5, - ], - [ - 199, 89, 188, 4, 151, 126, 122, 6, 244, 240, 84, 107, 22, 182, 62, 73, 192, 154, 110, 149, - 193, 169, 29, 238, 212, 87, 41, 207, 57, 158, 189, 201, 6, 103, 174, 247, 109, 83, 38, 151, - 162, 80, 59, 184, 232, 137, 204, 218, 154, 217, 142, 159, 24, 56, 71, 10, 61, 14, 114, 114, - 130, 157, 14, 57, - ], - [ - 138, 135, 78, 235, 174, 7, 206, 163, 56, 103, 120, 3, 255, 23, 31, 234, 164, 217, 49, 194, - 225, 89, 6, 84, 63, 65, 82, 71, 72, 200, 69, 220, 6, 105, 144, 82, 17, 40, 4, 0, 125, 1, - 38, 90, 2, 207, 172, 183, 98, 78, 210, 131, 96, 109, 167, 169, 102, 184, 31, 131, 180, 101, - 95, 200, - ], - [ - 155, 177, 43, 176, 169, 169, 67, 250, 198, 197, 119, 200, 60, 221, 107, 91, 63, 130, 113, - 248, 84, 75, 195, 81, 222, 43, 198, 89, 215, 160, 139, 175, 6, 104, 168, 169, 105, 217, - 247, 104, 131, 225, 201, 216, 169, 222, 39, 192, 220, 121, 14, 106, 5, 154, 249, 200, 164, - 215, 130, 79, 127, 135, 185, 146, - ], - [ - 50, 217, 33, 23, 245, 168, 238, 8, 49, 242, 6, 6, 45, 177, 227, 115, 27, 182, 197, 118, - 148, 55, 240, 8, 135, 213, 56, 0, 105, 215, 161, 132, 6, 104, 173, 169, 71, 42, 132, 129, - 31, 146, 104, 206, 245, 199, 163, 219, 45, 211, 181, 88, 216, 193, 229, 238, 75, 165, 228, - 70, 211, 172, 69, 248, - ], - [ - 225, 101, 166, 127, 133, 54, 207, 235, 70, 54, 113, 161, 58, 158, 175, 83, 78, 125, 182, - 255, 73, 68, 97, 242, 162, 182, 133, 65, 37, 163, 200, 128, 6, 104, 179, 76, 117, 189, 102, - 250, 221, 6, 145, 111, 25, 111, 12, 159, 203, 197, 200, 178, 226, 97, 181, 141, 126, 155, - 47, 110, 49, 115, 154, 92, - ], - [ - 33, 30, 32, 121, 249, 240, 92, 92, 20, 32, 208, 193, 136, 138, 16, 108, 65, 62, 84, 57, 36, - 125, 132, 156, 199, 139, 33, 179, 113, 119, 154, 81, 6, 104, 181, 237, 243, 161, 217, 52, - 203, 164, 145, 178, 101, 34, 245, 165, 203, 147, 211, 181, 68, 163, 9, 231, 224, 31, 20, - 24, 186, 172, 197, 57, - ], - [ - 130, 61, 186, 105, 9, 58, 196, 91, 161, 179, 146, 40, 183, 41, 168, 87, 48, 57, 43, 146, - 37, 112, 137, 137, 73, 98, 53, 237, 115, 90, 208, 98, 6, 104, 187, 62, 5, 187, 25, 230, 85, - 81, 174, 24, 1, 122, 22, 155, 142, 66, 155, 188, 195, 25, 51, 66, 158, 240, 127, 80, 148, - 147, 12, 76, - ], - [ - 195, 242, 176, 227, 177, 193, 28, 47, 84, 46, 136, 49, 163, 90, 218, 111, 6, 69, 33, 195, - 198, 160, 251, 155, 248, 59, 107, 51, 124, 13, 139, 242, 6, 104, 195, 145, 22, 49, 29, 17, - 54, 233, 120, 50, 108, 243, 83, 113, 225, 29, 211, 85, 238, 33, 10, 97, 114, 119, 137, 7, - 63, 68, 152, 195, - ], - [ - 74, 48, 117, 159, 175, 57, 193, 168, 47, 37, 45, 49, 80, 26, 23, 232, 42, 78, 66, 91, 42, - 20, 154, 117, 96, 117, 214, 60, 106, 146, 163, 63, 6, 104, 196, 212, 46, 44, 27, 0, 104, - 37, 75, 240, 86, 135, 132, 220, 245, 110, 207, 115, 78, 98, 168, 147, 50, 42, 158, 21, 95, - 62, 35, 143, - ], - [ - 28, 78, 0, 132, 167, 66, 204, 66, 214, 182, 106, 147, 150, 37, 197, 134, 145, 10, 205, 23, - 194, 246, 124, 240, 140, 228, 170, 61, 89, 129, 79, 168, 6, 104, 201, 211, 112, 37, 41, - 140, 204, 4, 179, 31, 149, 110, 163, 65, 3, 220, 207, 55, 66, 29, 29, 43, 124, 165, 229, - 150, 209, 250, 33, 154, - ], - [ - 20, 20, 87, 189, 70, 95, 37, 143, 162, 235, 159, 86, 31, 65, 240, 14, 177, 98, 15, 7, 173, - 224, 80, 164, 120, 15, 129, 29, 218, 157, 241, 171, 6, 104, 208, 114, 201, 194, 128, 83, - 84, 128, 160, 47, 55, 45, 107, 42, 176, 160, 211, 51, 215, 2, 41, 115, 56, 231, 212, 47, - 110, 254, 37, 168, - ], -]; - -const KEYPAIRS: [[u8; 64]; 256] = [ - [ - 103, 107, 162, 210, 159, 146, 152, 59, 178, 160, 27, 164, 79, 79, 174, 116, 36, 19, 189, - 70, 215, 78, 154, 223, 99, 178, 222, 102, 247, 252, 181, 219, 6, 222, 6, 156, 113, 124, 8, - 212, 226, 190, 182, 21, 105, 62, 71, 82, 252, 225, 117, 110, 6, 186, 112, 27, 215, 196, 60, - 227, 88, 242, 219, 99, - ], - [ - 158, 230, 194, 120, 93, 176, 242, 94, 6, 28, 62, 190, 205, 110, 185, 160, 243, 123, 140, - 72, 104, 57, 93, 134, 243, 174, 116, 40, 129, 40, 12, 137, 6, 222, 2, 164, 176, 96, 56, - 251, 68, 17, 134, 151, 14, 8, 251, 89, 198, 46, 96, 227, 249, 170, 92, 226, 105, 133, 36, - 239, 113, 217, 232, 230, - ], - [ - 103, 78, 241, 150, 27, 174, 254, 21, 107, 75, 52, 152, 245, 227, 118, 204, 205, 191, 173, - 24, 76, 195, 175, 175, 64, 148, 1, 11, 42, 57, 79, 130, 6, 222, 2, 188, 50, 107, 135, 175, - 111, 193, 2, 229, 191, 158, 248, 151, 97, 65, 178, 160, 122, 154, 203, 23, 188, 195, 225, - 97, 48, 104, 179, 205, - ], - [ - 89, 14, 42, 61, 65, 86, 17, 139, 156, 125, 225, 195, 146, 82, 87, 210, 23, 102, 106, 38, - 50, 228, 27, 31, 222, 26, 126, 110, 198, 123, 113, 229, 6, 222, 2, 215, 121, 160, 41, 8, - 46, 233, 197, 209, 101, 158, 8, 3, 22, 149, 227, 27, 183, 151, 234, 177, 134, 100, 83, 205, - 134, 152, 17, 17, - ], - [ - 113, 10, 211, 142, 164, 82, 206, 186, 61, 8, 197, 97, 66, 137, 215, 40, 175, 20, 199, 132, - 212, 215, 171, 106, 220, 94, 131, 21, 112, 113, 169, 187, 6, 222, 2, 240, 26, 9, 242, 164, - 7, 243, 84, 243, 170, 105, 180, 10, 137, 18, 244, 189, 237, 50, 212, 117, 234, 67, 180, 4, - 74, 25, 203, 181, - ], - [ - 160, 139, 9, 39, 145, 43, 41, 48, 91, 132, 194, 120, 63, 222, 188, 148, 1, 89, 41, 249, - 132, 230, 23, 178, 222, 25, 35, 64, 217, 156, 120, 132, 6, 222, 3, 5, 55, 64, 132, 82, 235, - 110, 245, 209, 226, 131, 151, 26, 109, 90, 29, 182, 219, 20, 229, 92, 81, 38, 6, 175, 225, - 4, 11, 2, - ], - [ - 28, 208, 250, 218, 77, 81, 233, 63, 10, 63, 108, 157, 130, 32, 209, 7, 36, 97, 241, 245, - 12, 45, 223, 233, 135, 119, 22, 151, 186, 195, 70, 138, 6, 222, 3, 23, 181, 125, 27, 140, - 31, 209, 37, 11, 0, 193, 151, 82, 178, 47, 170, 118, 233, 209, 205, 45, 188, 230, 240, 207, - 215, 10, 12, 197, - ], - [ - 105, 136, 122, 108, 52, 77, 23, 216, 146, 50, 130, 1, 162, 88, 21, 10, 110, 255, 186, 198, - 14, 234, 143, 32, 200, 30, 216, 71, 153, 71, 182, 100, 6, 222, 3, 40, 232, 215, 55, 117, - 96, 122, 80, 171, 3, 18, 72, 188, 21, 155, 179, 176, 165, 63, 187, 116, 24, 250, 30, 55, - 146, 13, 156, 81, - ], - [ - 196, 195, 238, 205, 229, 250, 35, 213, 218, 35, 115, 97, 34, 168, 118, 33, 28, 35, 152, 13, - 252, 151, 190, 15, 119, 158, 174, 143, 66, 31, 172, 246, 6, 222, 3, 62, 12, 238, 141, 229, - 162, 144, 254, 7, 67, 205, 203, 201, 181, 148, 80, 120, 133, 81, 140, 31, 95, 97, 1, 12, - 249, 207, 130, 166, - ], - [ - 95, 167, 13, 77, 148, 37, 196, 32, 230, 174, 90, 57, 20, 24, 47, 89, 152, 154, 200, 159, - 41, 68, 238, 21, 71, 255, 98, 31, 233, 201, 123, 84, 6, 222, 3, 80, 129, 194, 249, 246, 30, - 231, 87, 83, 152, 4, 177, 40, 56, 239, 191, 164, 94, 248, 106, 63, 194, 93, 234, 204, 253, - 201, 22, 228, - ], - [ - 138, 26, 227, 68, 45, 73, 91, 255, 12, 220, 190, 47, 67, 222, 50, 172, 198, 133, 209, 147, - 109, 87, 60, 8, 187, 190, 238, 120, 233, 185, 239, 41, 6, 221, 33, 16, 53, 109, 198, 254, - 149, 71, 10, 20, 118, 255, 105, 128, 204, 1, 144, 58, 193, 25, 244, 88, 45, 136, 224, 201, - 128, 251, 167, 93, - ], - [ - 204, 158, 190, 132, 149, 142, 152, 170, 255, 108, 115, 171, 58, 232, 227, 244, 192, 196, - 181, 194, 171, 255, 13, 1, 171, 220, 32, 145, 121, 174, 215, 118, 6, 221, 29, 27, 191, 103, - 10, 42, 237, 68, 46, 198, 187, 112, 37, 150, 15, 174, 89, 8, 160, 140, 237, 156, 19, 237, - 147, 1, 16, 12, 152, 248, - ], - [ - 2, 188, 176, 102, 197, 149, 62, 135, 42, 32, 208, 119, 146, 24, 163, 223, 121, 219, 172, - 161, 76, 157, 29, 246, 198, 125, 75, 216, 97, 23, 204, 192, 6, 221, 29, 48, 33, 35, 101, - 34, 147, 181, 124, 96, 8, 23, 24, 123, 97, 32, 111, 104, 157, 158, 117, 81, 64, 231, 110, - 48, 96, 51, 204, 54, - ], - [ - 194, 27, 149, 172, 41, 235, 57, 67, 84, 188, 242, 122, 249, 215, 11, 10, 12, 73, 187, 216, - 66, 88, 80, 24, 26, 15, 79, 98, 140, 49, 77, 94, 6, 221, 29, 62, 115, 109, 114, 56, 254, - 88, 58, 42, 155, 33, 165, 229, 205, 211, 18, 63, 128, 74, 17, 132, 194, 231, 197, 242, 73, - 34, 170, 21, - ], - [ - 201, 139, 214, 62, 241, 47, 190, 180, 115, 56, 251, 255, 204, 176, 229, 226, 197, 169, 218, - 153, 249, 64, 13, 137, 58, 153, 186, 166, 249, 201, 225, 194, 6, 221, 29, 83, 99, 43, 80, - 32, 177, 60, 204, 102, 214, 120, 94, 169, 192, 43, 89, 72, 238, 211, 242, 86, 178, 167, 65, - 98, 153, 16, 66, 40, - ], - [ - 222, 145, 68, 112, 205, 20, 152, 31, 67, 120, 146, 36, 10, 209, 22, 237, 52, 145, 78, 73, - 5, 183, 218, 149, 17, 93, 196, 123, 200, 133, 45, 33, 6, 221, 29, 112, 47, 245, 168, 180, - 35, 137, 221, 221, 223, 139, 69, 84, 34, 167, 60, 106, 9, 4, 232, 79, 30, 152, 197, 96, 58, - 147, 140, 23, - ], - [ - 71, 57, 255, 130, 136, 83, 78, 166, 135, 17, 27, 144, 241, 244, 219, 197, 175, 232, 81, 30, - 158, 220, 39, 210, 18, 108, 55, 131, 127, 238, 213, 23, 6, 221, 29, 121, 89, 102, 5, 103, - 64, 114, 104, 169, 148, 102, 67, 238, 160, 196, 47, 95, 54, 143, 14, 14, 235, 15, 145, 53, - 164, 194, 69, 208, - ], - [ - 179, 61, 17, 194, 134, 238, 223, 24, 163, 220, 87, 12, 134, 151, 34, 114, 234, 89, 90, 74, - 93, 206, 210, 228, 150, 216, 207, 160, 158, 27, 160, 55, 6, 221, 29, 151, 108, 170, 115, - 95, 188, 9, 251, 101, 74, 142, 48, 142, 235, 210, 251, 70, 250, 209, 85, 121, 139, 134, 28, - 170, 100, 51, 17, 138, - ], - [ - 94, 80, 115, 42, 179, 237, 227, 193, 11, 204, 232, 238, 93, 139, 71, 231, 217, 62, 122, - 171, 53, 241, 116, 11, 245, 71, 253, 28, 176, 210, 127, 1, 6, 221, 29, 175, 187, 182, 255, - 92, 80, 140, 239, 204, 133, 120, 38, 19, 247, 78, 50, 240, 9, 209, 184, 220, 82, 113, 110, - 32, 95, 167, 134, 129, - ], - [ - 234, 110, 12, 220, 30, 141, 221, 65, 218, 143, 108, 123, 143, 143, 193, 214, 63, 110, 164, - 48, 154, 44, 179, 163, 64, 57, 219, 242, 93, 129, 197, 240, 6, 221, 29, 205, 56, 69, 70, - 201, 105, 150, 217, 185, 165, 137, 214, 49, 13, 70, 243, 31, 191, 21, 218, 83, 242, 130, - 192, 58, 131, 157, 176, 28, - ], - [ - 36, 253, 25, 151, 97, 64, 100, 75, 121, 45, 206, 19, 0, 126, 14, 247, 53, 18, 14, 56, 28, - 63, 218, 78, 67, 224, 245, 192, 88, 119, 51, 7, 6, 221, 38, 1, 76, 190, 70, 113, 182, 214, - 199, 72, 233, 220, 132, 39, 157, 27, 36, 126, 175, 7, 217, 74, 229, 68, 249, 147, 100, 243, - 252, 136, - ], - [ - 204, 27, 223, 68, 133, 73, 214, 18, 62, 0, 212, 34, 229, 17, 31, 155, 9, 226, 241, 120, - 143, 210, 64, 163, 237, 156, 140, 65, 137, 21, 50, 193, 6, 221, 34, 27, 50, 246, 44, 190, - 220, 236, 146, 44, 191, 247, 34, 140, 252, 214, 235, 123, 221, 246, 75, 151, 231, 72, 65, - 24, 52, 11, 254, 36, - ], - [ - 70, 133, 104, 104, 66, 193, 35, 6, 29, 95, 239, 199, 67, 150, 202, 183, 8, 44, 216, 238, - 248, 219, 143, 66, 199, 211, 83, 138, 235, 209, 42, 126, 6, 221, 34, 29, 216, 160, 180, - 107, 77, 4, 245, 54, 164, 150, 16, 83, 25, 123, 20, 247, 94, 97, 148, 168, 107, 255, 67, - 93, 34, 200, 103, 242, - ], - [ - 177, 220, 116, 0, 101, 144, 231, 136, 32, 160, 72, 222, 92, 203, 60, 135, 216, 255, 7, 9, - 211, 45, 63, 110, 163, 240, 146, 212, 166, 46, 65, 221, 6, 221, 34, 57, 81, 67, 19, 56, 43, - 234, 118, 118, 80, 219, 135, 231, 253, 238, 76, 240, 115, 180, 204, 83, 152, 206, 8, 74, - 211, 28, 147, 4, - ], - [ - 97, 43, 226, 44, 103, 44, 245, 53, 147, 125, 148, 241, 186, 61, 119, 226, 203, 206, 95, - 140, 74, 153, 70, 43, 102, 93, 200, 238, 211, 75, 212, 34, 6, 221, 34, 90, 154, 55, 189, - 167, 147, 40, 191, 219, 72, 223, 124, 24, 63, 128, 164, 66, 116, 93, 81, 233, 150, 251, 11, - 33, 67, 77, 65, 27, - ], - [ - 50, 168, 95, 92, 130, 70, 151, 141, 94, 113, 118, 50, 176, 213, 169, 153, 56, 51, 208, 49, - 0, 29, 194, 96, 122, 194, 96, 26, 24, 67, 232, 213, 6, 221, 34, 99, 27, 120, 14, 113, 62, - 43, 150, 220, 126, 157, 193, 135, 10, 52, 246, 92, 34, 250, 45, 194, 65, 246, 161, 225, 10, - 117, 104, 165, - ], - [ - 191, 1, 153, 177, 145, 254, 107, 167, 59, 77, 251, 229, 3, 59, 78, 103, 151, 172, 136, 19, - 174, 145, 238, 20, 6, 162, 215, 10, 10, 156, 160, 235, 6, 221, 34, 134, 140, 75, 219, 57, - 163, 186, 208, 99, 100, 199, 181, 70, 238, 32, 29, 122, 187, 13, 14, 198, 205, 8, 214, 156, - 70, 237, 23, 242, - ], - [ - 89, 216, 69, 153, 129, 10, 83, 191, 52, 74, 226, 223, 77, 163, 124, 16, 240, 151, 95, 148, - 166, 50, 235, 64, 141, 103, 20, 106, 116, 112, 30, 142, 6, 221, 34, 145, 142, 22, 68, 7, - 137, 80, 62, 142, 109, 0, 186, 254, 19, 86, 48, 73, 78, 48, 176, 115, 66, 96, 6, 229, 150, - 114, 53, 242, - ], - [ - 58, 15, 241, 62, 238, 86, 158, 193, 177, 119, 205, 36, 64, 171, 129, 191, 0, 4, 188, 10, - 140, 16, 64, 235, 131, 82, 176, 116, 178, 70, 250, 94, 6, 221, 34, 177, 133, 191, 226, 232, - 46, 218, 185, 123, 189, 30, 128, 103, 48, 199, 143, 127, 86, 236, 41, 94, 199, 67, 28, 32, - 138, 177, 72, 140, - ], - [ - 18, 215, 61, 240, 226, 233, 45, 88, 122, 64, 4, 48, 130, 51, 126, 69, 196, 66, 249, 40, - 160, 179, 1, 126, 82, 73, 254, 215, 244, 226, 238, 22, 6, 221, 34, 186, 23, 216, 163, 246, - 250, 18, 174, 2, 252, 196, 31, 114, 97, 158, 96, 146, 38, 11, 92, 110, 116, 21, 76, 182, - 157, 106, 9, 59, - ], - [ - 245, 42, 182, 46, 239, 155, 118, 163, 243, 182, 30, 153, 173, 209, 31, 21, 117, 122, 48, - 47, 119, 134, 160, 177, 152, 85, 35, 184, 72, 107, 49, 91, 6, 221, 43, 9, 254, 104, 79, 44, - 110, 82, 161, 97, 97, 34, 100, 11, 31, 203, 245, 254, 79, 126, 32, 79, 231, 211, 55, 76, - 151, 149, 224, 176, - ], - [ - 142, 11, 50, 55, 83, 101, 69, 185, 35, 117, 238, 155, 237, 249, 133, 174, 36, 41, 186, 173, - 29, 84, 184, 237, 24, 199, 238, 133, 20, 162, 75, 57, 6, 221, 39, 10, 86, 193, 93, 21, 200, - 74, 251, 7, 186, 116, 69, 67, 192, 25, 248, 226, 7, 13, 100, 87, 39, 35, 27, 61, 21, 67, - 59, 115, - ], - [ - 143, 210, 209, 254, 132, 199, 202, 223, 94, 119, 168, 159, 206, 238, 199, 149, 54, 118, - 101, 145, 235, 65, 184, 70, 3, 225, 138, 103, 174, 108, 234, 26, 6, 221, 39, 42, 82, 37, - 107, 134, 136, 101, 141, 163, 205, 183, 27, 142, 198, 216, 183, 123, 42, 222, 119, 246, 59, - 86, 134, 7, 47, 136, 157, 32, - ], - [ - 158, 200, 76, 248, 163, 212, 226, 174, 41, 77, 194, 178, 27, 29, 134, 2, 71, 99, 245, 224, - 152, 218, 124, 252, 237, 191, 215, 249, 234, 29, 22, 54, 6, 221, 39, 69, 31, 170, 103, 17, - 135, 241, 34, 102, 49, 224, 158, 54, 29, 227, 236, 78, 176, 52, 161, 85, 237, 221, 74, 22, - 193, 91, 39, 47, - ], - [ - 16, 71, 193, 27, 218, 181, 101, 164, 194, 251, 126, 59, 36, 63, 168, 91, 192, 195, 151, - 146, 184, 123, 185, 125, 25, 120, 149, 147, 103, 154, 206, 3, 6, 221, 39, 77, 175, 236, 85, - 222, 252, 197, 70, 39, 36, 140, 181, 230, 255, 241, 137, 21, 91, 206, 181, 255, 94, 12, 35, - 123, 53, 71, 254, 194, - ], - [ - 39, 127, 70, 163, 189, 214, 94, 198, 201, 70, 144, 251, 121, 160, 119, 22, 229, 252, 104, - 21, 212, 7, 114, 245, 16, 238, 13, 212, 218, 202, 66, 214, 6, 221, 39, 110, 112, 177, 178, - 56, 191, 82, 97, 210, 169, 137, 33, 3, 104, 99, 225, 122, 149, 218, 2, 211, 12, 152, 154, - 220, 226, 146, 58, 52, - ], - [ - 23, 173, 66, 95, 132, 87, 125, 221, 217, 41, 24, 36, 16, 79, 3, 107, 241, 252, 146, 172, - 164, 36, 21, 195, 101, 11, 100, 83, 5, 115, 46, 172, 6, 221, 39, 116, 92, 61, 168, 160, - 219, 242, 178, 133, 240, 41, 83, 47, 106, 239, 165, 49, 78, 190, 88, 216, 237, 38, 76, 50, - 40, 108, 199, 39, - ], - [ - 186, 100, 37, 105, 97, 226, 233, 90, 64, 148, 193, 22, 172, 11, 198, 178, 164, 113, 233, - 171, 54, 217, 174, 214, 237, 141, 71, 192, 91, 248, 152, 77, 6, 221, 39, 136, 19, 69, 103, - 190, 209, 38, 175, 156, 36, 132, 189, 20, 20, 249, 170, 210, 226, 219, 245, 233, 6, 38, 19, - 25, 237, 46, 112, 13, - ], - [ - 48, 106, 171, 251, 69, 172, 212, 13, 199, 225, 23, 227, 91, 60, 123, 153, 119, 44, 43, 96, - 247, 15, 150, 224, 7, 181, 139, 49, 157, 148, 251, 93, 6, 221, 39, 179, 37, 144, 90, 143, - 219, 191, 190, 143, 191, 215, 6, 78, 221, 159, 157, 215, 253, 13, 72, 233, 15, 160, 86, 34, - 46, 139, 183, 216, - ], - [ - 152, 134, 145, 114, 61, 135, 24, 39, 58, 83, 184, 15, 178, 31, 105, 205, 234, 77, 192, 253, - 214, 72, 22, 65, 45, 176, 139, 95, 84, 4, 81, 4, 6, 221, 39, 200, 208, 3, 80, 104, 230, 2, - 227, 27, 137, 177, 130, 174, 101, 132, 172, 208, 133, 226, 208, 191, 250, 155, 3, 77, 172, - 50, 103, 84, - ], - [ - 17, 15, 98, 146, 146, 58, 221, 6, 52, 165, 11, 96, 117, 49, 252, 5, 180, 102, 91, 102, 86, - 139, 144, 170, 174, 168, 74, 204, 114, 188, 41, 18, 6, 221, 48, 4, 139, 33, 32, 77, 61, - 234, 241, 241, 21, 136, 129, 190, 238, 51, 10, 5, 151, 66, 32, 33, 45, 183, 98, 250, 149, - 61, 78, 19, - ], - [ - 171, 86, 66, 56, 252, 172, 221, 79, 189, 122, 219, 128, 161, 123, 32, 69, 200, 34, 174, 59, - 52, 235, 191, 252, 241, 2, 105, 4, 179, 54, 106, 70, 6, 221, 44, 9, 177, 45, 145, 122, 40, - 152, 186, 8, 99, 154, 213, 23, 34, 115, 236, 217, 58, 178, 48, 132, 235, 58, 89, 172, 133, - 191, 194, 37, - ], - [ - 78, 233, 93, 68, 128, 25, 114, 247, 5, 158, 97, 113, 72, 105, 72, 89, 112, 10, 192, 37, 93, - 70, 6, 239, 41, 179, 153, 239, 190, 18, 174, 4, 6, 221, 44, 33, 167, 84, 254, 54, 173, 61, - 108, 16, 3, 243, 36, 99, 251, 146, 70, 94, 228, 9, 188, 26, 250, 38, 80, 183, 60, 18, 98, - 127, - ], - [ - 202, 28, 224, 138, 173, 123, 11, 170, 36, 222, 10, 60, 116, 139, 201, 163, 90, 190, 137, - 244, 220, 198, 140, 16, 13, 13, 52, 13, 180, 144, 168, 39, 6, 221, 44, 49, 131, 1, 165, 94, - 139, 26, 32, 96, 236, 215, 246, 31, 104, 212, 243, 59, 20, 11, 166, 145, 195, 113, 173, 18, - 175, 8, 144, 200, - ], - [ - 22, 205, 6, 105, 131, 37, 107, 36, 206, 72, 15, 242, 243, 147, 177, 38, 30, 25, 22, 202, - 90, 0, 208, 176, 50, 47, 70, 114, 84, 51, 161, 165, 6, 221, 44, 69, 244, 148, 137, 15, 134, - 250, 40, 93, 16, 254, 9, 91, 231, 76, 136, 218, 17, 176, 244, 61, 115, 18, 202, 158, 214, - 6, 45, 92, - ], - [ - 122, 25, 229, 148, 150, 32, 249, 72, 105, 3, 111, 78, 155, 6, 15, 178, 195, 219, 58, 247, - 113, 134, 160, 208, 175, 155, 122, 245, 183, 112, 253, 98, 6, 221, 44, 91, 174, 193, 118, - 102, 231, 196, 154, 111, 106, 219, 163, 183, 6, 182, 192, 181, 111, 241, 250, 111, 54, 3, - 197, 91, 252, 56, 2, 29, - ], - [ - 111, 56, 120, 209, 191, 84, 0, 41, 163, 5, 43, 155, 79, 208, 107, 189, 3, 212, 15, 84, 204, - 208, 136, 223, 208, 249, 116, 36, 240, 93, 55, 255, 6, 221, 44, 129, 182, 37, 112, 198, - 162, 180, 208, 67, 243, 94, 133, 94, 111, 18, 112, 186, 103, 170, 190, 153, 94, 166, 65, - 228, 245, 49, 101, 40, - ], - [ - 107, 39, 75, 30, 246, 20, 44, 227, 130, 89, 235, 255, 1, 95, 160, 88, 227, 123, 82, 118, - 209, 156, 3, 96, 111, 180, 243, 69, 221, 112, 79, 60, 6, 221, 44, 138, 113, 243, 230, 53, - 133, 224, 243, 98, 142, 201, 6, 22, 172, 9, 35, 96, 254, 188, 48, 118, 91, 167, 78, 216, - 163, 50, 136, 0, - ], - [ - 35, 104, 212, 91, 162, 157, 176, 249, 141, 107, 205, 33, 114, 187, 207, 186, 146, 96, 150, - 69, 150, 172, 197, 79, 172, 152, 212, 4, 60, 20, 217, 23, 6, 221, 44, 168, 241, 187, 162, - 182, 119, 211, 129, 28, 167, 0, 10, 132, 96, 248, 72, 199, 208, 129, 53, 98, 160, 90, 254, - 69, 199, 222, 24, 209, - ], - [ - 52, 28, 98, 173, 195, 190, 22, 99, 75, 167, 167, 189, 19, 66, 209, 96, 60, 102, 109, 220, - 143, 83, 43, 4, 232, 243, 240, 88, 202, 32, 217, 187, 6, 221, 44, 182, 193, 40, 115, 113, - 243, 43, 229, 175, 38, 100, 184, 118, 127, 241, 138, 65, 24, 54, 84, 92, 47, 240, 104, 201, - 224, 23, 1, 180, - ], - [ - 53, 83, 240, 11, 222, 51, 221, 85, 199, 194, 176, 159, 143, 215, 119, 101, 226, 185, 208, - 60, 252, 94, 41, 118, 59, 10, 223, 170, 236, 66, 62, 185, 6, 221, 53, 1, 70, 174, 123, 6, - 168, 146, 131, 78, 60, 235, 121, 222, 166, 202, 242, 199, 170, 90, 168, 77, 39, 147, 28, - 218, 240, 51, 243, 91, - ], - [ - 86, 73, 230, 12, 73, 97, 200, 79, 97, 165, 221, 189, 252, 213, 107, 151, 131, 94, 87, 76, - 216, 202, 176, 241, 132, 62, 137, 218, 142, 203, 40, 2, 6, 221, 49, 16, 53, 136, 238, 109, - 116, 230, 223, 185, 12, 228, 40, 130, 33, 216, 79, 133, 182, 62, 126, 69, 218, 17, 216, - 127, 106, 213, 131, 177, - ], - [ - 250, 37, 83, 180, 117, 200, 251, 221, 117, 238, 254, 171, 134, 69, 23, 70, 245, 40, 247, - 102, 99, 187, 194, 173, 184, 109, 180, 161, 52, 165, 71, 145, 6, 221, 49, 32, 200, 220, - 142, 196, 23, 203, 117, 62, 174, 23, 197, 203, 187, 75, 97, 76, 184, 217, 195, 209, 61, - 144, 213, 88, 226, 210, 121, 231, - ], - [ - 11, 29, 93, 164, 114, 252, 86, 224, 152, 212, 3, 44, 226, 86, 247, 42, 150, 183, 219, 217, - 18, 77, 104, 245, 17, 74, 163, 49, 200, 200, 215, 133, 6, 221, 49, 50, 124, 117, 91, 104, - 221, 36, 17, 89, 223, 63, 106, 4, 167, 104, 127, 201, 159, 8, 11, 145, 1, 233, 135, 84, 4, - 146, 151, 130, - ], - [ - 250, 159, 232, 127, 235, 43, 158, 73, 65, 196, 196, 106, 42, 215, 205, 71, 202, 37, 50, 18, - 171, 226, 188, 47, 157, 236, 184, 144, 248, 166, 220, 154, 6, 221, 49, 70, 13, 221, 16, - 225, 131, 32, 245, 53, 218, 190, 89, 135, 250, 153, 56, 100, 216, 237, 30, 15, 104, 132, - 108, 203, 40, 119, 217, 70, - ], - [ - 91, 138, 193, 230, 60, 107, 137, 157, 146, 219, 84, 28, 179, 105, 218, 8, 16, 202, 168, - 229, 239, 38, 199, 44, 17, 18, 178, 147, 181, 171, 16, 201, 6, 221, 49, 105, 161, 222, 64, - 65, 61, 125, 112, 186, 22, 226, 214, 203, 129, 114, 218, 108, 76, 57, 174, 177, 12, 176, - 253, 182, 104, 252, 148, 248, - ], - [ - 66, 221, 114, 232, 223, 117, 159, 89, 25, 160, 147, 32, 51, 113, 229, 58, 90, 188, 25, 153, - 48, 59, 93, 222, 59, 95, 146, 40, 106, 233, 164, 120, 6, 221, 49, 129, 171, 209, 150, 181, - 41, 65, 14, 229, 5, 99, 111, 188, 141, 56, 247, 94, 196, 151, 244, 67, 202, 27, 188, 170, - 9, 3, 230, 70, - ], - [ - 79, 89, 164, 79, 220, 80, 64, 235, 2, 254, 205, 136, 112, 109, 201, 202, 79, 72, 90, 47, - 197, 188, 132, 123, 29, 72, 125, 117, 193, 20, 140, 172, 6, 221, 49, 137, 78, 136, 177, - 151, 26, 207, 83, 246, 22, 251, 156, 54, 107, 219, 170, 37, 20, 127, 239, 35, 223, 195, - 228, 161, 57, 234, 87, 98, - ], - [ - 68, 11, 243, 9, 82, 216, 147, 228, 20, 139, 44, 224, 36, 229, 105, 5, 68, 140, 5, 71, 61, - 59, 153, 122, 30, 83, 217, 46, 29, 39, 251, 153, 6, 221, 49, 174, 108, 49, 236, 166, 165, - 114, 187, 134, 151, 236, 209, 195, 40, 188, 207, 111, 243, 214, 150, 130, 236, 21, 32, 228, - 89, 182, 38, 23, - ], - [ - 126, 185, 160, 234, 127, 93, 234, 52, 149, 46, 172, 230, 146, 127, 173, 48, 218, 87, 247, - 0, 44, 171, 152, 252, 180, 25, 170, 104, 212, 42, 55, 53, 6, 221, 49, 187, 239, 181, 255, - 146, 158, 9, 9, 192, 180, 179, 111, 220, 10, 249, 75, 229, 29, 125, 139, 14, 217, 101, 56, - 184, 71, 118, 243, 246, - ], - [ - 50, 158, 132, 17, 71, 135, 60, 62, 105, 200, 56, 3, 246, 193, 146, 109, 219, 8, 137, 239, - 141, 5, 160, 254, 253, 154, 130, 156, 50, 84, 125, 131, 6, 221, 57, 244, 36, 222, 215, 75, - 105, 90, 89, 64, 38, 167, 241, 153, 236, 44, 42, 123, 20, 91, 63, 211, 116, 70, 123, 244, - 195, 126, 22, 109, - ], - [ - 121, 141, 17, 170, 146, 32, 166, 44, 146, 53, 135, 138, 38, 141, 111, 157, 8, 217, 115, - 214, 249, 66, 138, 27, 244, 42, 90, 22, 180, 227, 129, 50, 6, 221, 54, 13, 134, 210, 56, - 20, 145, 31, 6, 217, 18, 154, 54, 104, 12, 216, 49, 244, 63, 25, 139, 32, 211, 139, 165, - 81, 196, 185, 187, 10, - ], - [ - 202, 93, 45, 196, 93, 227, 84, 167, 112, 139, 230, 189, 240, 57, 70, 3, 220, 165, 216, 134, - 4, 47, 239, 161, 162, 19, 91, 214, 48, 42, 46, 79, 6, 221, 54, 36, 100, 8, 84, 200, 113, - 10, 219, 83, 27, 57, 122, 162, 123, 164, 185, 188, 105, 19, 226, 79, 66, 218, 163, 34, 111, - 236, 13, 146, - ], - [ - 82, 126, 136, 192, 206, 142, 90, 17, 193, 178, 62, 194, 87, 118, 83, 120, 117, 42, 219, - 193, 21, 23, 61, 2, 165, 55, 44, 59, 12, 54, 206, 216, 6, 221, 54, 61, 116, 6, 40, 68, 12, - 167, 21, 200, 205, 130, 58, 131, 229, 231, 12, 49, 206, 100, 100, 186, 224, 163, 96, 204, - 8, 99, 166, 229, - ], - [ - 189, 118, 136, 12, 141, 255, 68, 199, 63, 178, 12, 133, 56, 148, 23, 221, 118, 98, 118, - 107, 152, 247, 21, 212, 145, 207, 232, 129, 161, 62, 44, 217, 6, 221, 54, 74, 31, 212, 143, - 37, 30, 216, 233, 253, 169, 91, 220, 12, 158, 150, 106, 35, 246, 242, 99, 20, 232, 36, 117, - 8, 121, 12, 120, 68, - ], - [ - 145, 142, 158, 60, 15, 49, 8, 192, 37, 107, 7, 137, 8, 202, 240, 214, 56, 204, 229, 37, - 145, 137, 171, 191, 128, 76, 9, 140, 255, 72, 178, 176, 6, 221, 54, 84, 190, 62, 255, 168, - 97, 115, 23, 242, 18, 1, 141, 71, 94, 170, 145, 247, 122, 105, 11, 231, 37, 49, 103, 165, - 148, 3, 226, 6, - ], - [ - 36, 74, 13, 7, 27, 136, 73, 122, 118, 126, 94, 3, 153, 101, 246, 161, 71, 138, 112, 47, 34, - 223, 220, 114, 182, 177, 82, 61, 45, 124, 158, 38, 6, 221, 54, 113, 129, 35, 130, 124, 14, - 118, 78, 31, 13, 14, 81, 157, 40, 217, 16, 255, 11, 250, 210, 225, 62, 186, 23, 196, 162, - 200, 19, 98, - ], - [ - 41, 219, 197, 18, 163, 195, 243, 40, 19, 112, 195, 47, 183, 70, 223, 251, 14, 230, 31, 60, - 195, 6, 178, 109, 57, 196, 212, 96, 82, 46, 207, 172, 6, 221, 54, 147, 10, 221, 74, 170, - 103, 180, 143, 184, 204, 204, 147, 127, 85, 67, 216, 158, 130, 214, 104, 147, 185, 167, 39, - 101, 163, 154, 34, 125, - ], - [ - 191, 17, 57, 87, 155, 174, 29, 248, 49, 51, 138, 158, 192, 9, 132, 208, 68, 104, 194, 133, - 242, 176, 107, 177, 246, 90, 151, 71, 175, 157, 203, 85, 6, 221, 54, 170, 204, 32, 65, 151, - 233, 160, 30, 17, 19, 204, 30, 31, 107, 102, 183, 49, 62, 207, 83, 235, 228, 192, 181, 250, - 71, 186, 215, 126, - ], - [ - 45, 66, 226, 10, 249, 24, 190, 1, 160, 84, 77, 47, 142, 242, 178, 142, 68, 35, 155, 82, - 108, 71, 126, 79, 216, 4, 73, 251, 210, 42, 164, 211, 6, 221, 54, 182, 153, 34, 39, 13, 84, - 196, 109, 240, 141, 162, 161, 120, 35, 155, 159, 58, 61, 190, 181, 189, 9, 66, 226, 4, 177, - 188, 242, 125, - ], - [ - 45, 91, 42, 240, 139, 244, 15, 242, 252, 99, 90, 108, 15, 186, 7, 158, 96, 253, 213, 240, - 254, 199, 244, 154, 203, 96, 24, 159, 183, 210, 0, 246, 6, 221, 62, 250, 59, 32, 198, 176, - 101, 189, 177, 217, 156, 79, 222, 182, 73, 153, 240, 247, 14, 235, 49, 177, 158, 170, 190, - 187, 65, 64, 40, 71, - ], - [ - 58, 219, 168, 188, 250, 1, 56, 70, 38, 154, 67, 72, 42, 183, 6, 149, 105, 172, 130, 202, - 44, 9, 168, 141, 188, 157, 125, 202, 34, 10, 246, 213, 6, 221, 59, 5, 248, 40, 202, 52, 63, - 232, 53, 74, 161, 44, 148, 177, 233, 151, 131, 11, 152, 23, 56, 27, 23, 162, 19, 151, 38, - 200, 210, 42, - ], - [ - 195, 28, 110, 236, 154, 190, 56, 230, 194, 155, 47, 23, 55, 75, 22, 183, 114, 193, 3, 36, - 110, 70, 180, 205, 9, 196, 88, 194, 53, 40, 69, 246, 6, 221, 59, 19, 37, 121, 185, 198, - 175, 31, 220, 0, 40, 2, 150, 1, 216, 7, 105, 186, 83, 45, 120, 119, 51, 159, 199, 149, 133, - 79, 114, 183, - ], - [ - 75, 213, 47, 146, 38, 115, 228, 123, 82, 84, 151, 189, 218, 171, 213, 7, 50, 213, 141, 123, - 0, 181, 125, 225, 229, 218, 77, 242, 117, 4, 83, 152, 6, 221, 59, 46, 79, 136, 60, 238, 31, - 251, 103, 139, 212, 224, 108, 198, 140, 42, 151, 62, 133, 140, 244, 21, 233, 21, 117, 232, - 128, 156, 149, 128, - ], - [ - 144, 139, 250, 111, 53, 166, 189, 167, 82, 169, 68, 21, 193, 123, 74, 109, 16, 228, 133, - 100, 144, 5, 55, 201, 154, 253, 164, 223, 120, 171, 176, 74, 6, 221, 59, 69, 185, 157, 228, - 8, 65, 237, 120, 201, 194, 119, 225, 212, 21, 97, 33, 254, 93, 250, 128, 124, 148, 245, - 226, 116, 179, 120, 225, 12, - ], - [ - 255, 230, 167, 161, 230, 230, 225, 121, 221, 42, 248, 2, 79, 155, 41, 14, 137, 116, 166, - 139, 143, 32, 40, 10, 206, 121, 163, 151, 32, 88, 234, 216, 6, 221, 59, 98, 180, 110, 207, - 57, 54, 154, 146, 71, 130, 142, 0, 73, 249, 119, 99, 93, 57, 55, 104, 203, 103, 128, 200, - 139, 23, 142, 63, 220, - ], - [ - 140, 155, 202, 138, 92, 232, 136, 99, 78, 62, 92, 70, 148, 224, 99, 50, 15, 251, 135, 96, - 91, 5, 201, 202, 174, 147, 100, 168, 154, 64, 228, 59, 6, 221, 59, 112, 145, 250, 109, 124, - 157, 41, 122, 47, 136, 139, 244, 64, 241, 214, 194, 71, 9, 145, 188, 102, 158, 231, 87, - 221, 140, 221, 105, 122, - ], - [ - 62, 6, 52, 203, 157, 143, 58, 148, 78, 117, 67, 174, 112, 9, 72, 1, 206, 7, 236, 156, 177, - 22, 250, 81, 155, 73, 74, 18, 118, 80, 236, 200, 6, 221, 59, 142, 88, 222, 136, 163, 130, - 148, 136, 152, 66, 14, 233, 242, 101, 52, 142, 88, 101, 142, 44, 230, 100, 144, 9, 225, - 142, 159, 123, 50, - ], - [ - 154, 10, 154, 247, 145, 140, 214, 186, 25, 49, 77, 131, 80, 201, 231, 139, 7, 95, 16, 211, - 87, 87, 39, 216, 31, 252, 105, 194, 21, 199, 222, 68, 6, 221, 59, 157, 245, 64, 154, 250, - 78, 154, 147, 177, 2, 5, 109, 72, 243, 236, 250, 185, 203, 235, 119, 29, 126, 71, 130, 10, - 2, 207, 126, 172, - ], - [ - 253, 56, 254, 104, 65, 231, 83, 73, 155, 82, 243, 227, 164, 136, 122, 151, 19, 42, 222, 44, - 45, 89, 237, 126, 148, 204, 25, 36, 196, 152, 6, 120, 6, 221, 59, 177, 27, 154, 185, 72, - 25, 115, 51, 1, 140, 248, 62, 9, 189, 226, 244, 245, 5, 38, 44, 59, 112, 195, 164, 125, - 196, 249, 247, 116, - ], - [ - 35, 207, 114, 253, 97, 143, 206, 88, 29, 187, 68, 148, 161, 211, 211, 229, 250, 110, 172, - 156, 32, 178, 25, 223, 44, 220, 47, 135, 113, 19, 155, 246, 6, 221, 67, 253, 136, 197, 79, - 237, 43, 104, 233, 20, 67, 82, 130, 96, 235, 143, 58, 18, 55, 49, 116, 75, 59, 87, 233, - 116, 71, 63, 69, 157, - ], - [ - 193, 5, 153, 246, 18, 200, 223, 219, 193, 231, 116, 15, 219, 47, 236, 189, 252, 73, 17, - 111, 156, 238, 116, 25, 145, 69, 13, 202, 117, 180, 90, 114, 6, 221, 63, 248, 205, 187, 96, - 69, 104, 44, 128, 205, 150, 116, 120, 201, 252, 219, 88, 71, 45, 176, 111, 90, 38, 171, - 186, 187, 50, 149, 205, 66, - ], - [ - 180, 123, 105, 107, 199, 137, 209, 233, 182, 75, 247, 87, 95, 39, 119, 211, 118, 221, 85, - 168, 255, 5, 230, 224, 211, 124, 163, 190, 4, 204, 101, 100, 6, 221, 64, 23, 101, 89, 225, - 55, 202, 148, 254, 95, 97, 145, 24, 20, 186, 33, 64, 184, 71, 3, 84, 19, 15, 216, 173, 126, - 114, 70, 225, 151, - ], - [ - 106, 72, 132, 124, 158, 123, 73, 36, 133, 237, 82, 65, 43, 21, 234, 34, 101, 176, 117, 248, - 139, 160, 5, 165, 248, 219, 99, 68, 202, 95, 93, 60, 6, 221, 64, 47, 160, 160, 215, 6, 14, - 146, 215, 230, 35, 52, 60, 191, 210, 225, 191, 102, 129, 75, 111, 133, 18, 183, 28, 38, 15, - 64, 248, 196, - ], - [ - 192, 102, 228, 169, 2, 181, 161, 224, 226, 195, 205, 76, 52, 162, 71, 60, 157, 58, 93, 55, - 233, 158, 226, 78, 140, 36, 176, 168, 173, 16, 10, 36, 6, 221, 64, 65, 180, 242, 17, 255, - 254, 129, 48, 222, 146, 60, 134, 190, 155, 241, 171, 11, 82, 44, 187, 22, 53, 247, 165, - 138, 67, 68, 94, 242, - ], - [ - 202, 107, 183, 51, 128, 77, 102, 177, 60, 255, 163, 147, 29, 224, 63, 244, 165, 71, 13, - 207, 23, 12, 128, 20, 152, 139, 169, 11, 218, 151, 50, 217, 6, 221, 64, 86, 135, 66, 80, - 190, 18, 109, 214, 96, 99, 45, 185, 18, 27, 38, 132, 159, 0, 71, 42, 202, 238, 127, 103, - 207, 32, 152, 94, 126, - ], - [ - 147, 242, 216, 166, 179, 141, 70, 121, 193, 62, 66, 222, 223, 79, 221, 179, 224, 23, 96, - 233, 246, 94, 156, 96, 114, 129, 90, 110, 132, 213, 177, 129, 6, 221, 64, 111, 88, 18, 105, - 0, 174, 15, 123, 252, 239, 149, 40, 41, 147, 198, 107, 2, 192, 94, 189, 85, 246, 29, 26, - 64, 180, 213, 190, 15, - ], - [ - 13, 134, 74, 11, 235, 55, 23, 246, 37, 15, 24, 33, 247, 141, 210, 241, 39, 236, 202, 192, - 153, 92, 23, 246, 149, 176, 155, 126, 151, 133, 10, 224, 6, 221, 64, 132, 40, 190, 16, 238, - 173, 183, 186, 124, 4, 24, 235, 63, 168, 128, 185, 196, 139, 108, 10, 85, 147, 35, 155, - 142, 214, 126, 70, 227, - ], - [ - 188, 150, 0, 239, 165, 6, 249, 251, 78, 46, 47, 201, 33, 21, 65, 66, 131, 250, 244, 254, - 41, 32, 244, 97, 52, 27, 248, 11, 161, 171, 14, 192, 6, 221, 64, 155, 198, 89, 66, 219, - 160, 88, 227, 87, 160, 214, 53, 57, 26, 90, 23, 187, 131, 146, 17, 16, 228, 187, 165, 142, - 203, 69, 115, 124, - ], - [ - 12, 154, 6, 96, 154, 218, 179, 127, 51, 148, 247, 86, 23, 203, 96, 15, 236, 47, 214, 12, - 55, 9, 75, 245, 124, 57, 105, 190, 49, 223, 117, 159, 6, 221, 64, 176, 190, 69, 122, 77, 9, - 124, 54, 28, 127, 78, 82, 243, 40, 180, 179, 139, 189, 243, 89, 96, 75, 178, 3, 73, 219, - 112, 149, 34, - ], - [ - 104, 25, 214, 56, 148, 30, 204, 163, 54, 20, 168, 234, 74, 190, 74, 210, 194, 190, 28, 229, - 52, 140, 235, 98, 127, 79, 157, 23, 167, 198, 142, 114, 6, 221, 72, 245, 39, 228, 128, 122, - 186, 61, 98, 96, 151, 34, 223, 52, 195, 82, 165, 124, 153, 236, 230, 73, 0, 173, 107, 89, - 229, 209, 46, 4, - ], - [ - 110, 186, 11, 140, 29, 6, 183, 60, 140, 127, 233, 218, 64, 21, 47, 200, 194, 106, 156, 116, - 81, 10, 140, 83, 89, 136, 165, 190, 153, 68, 62, 175, 6, 221, 69, 1, 61, 140, 6, 206, 18, - 236, 112, 25, 8, 119, 163, 69, 94, 88, 197, 46, 178, 83, 131, 25, 226, 63, 22, 78, 170, - 103, 161, 1, - ], - [ - 85, 8, 45, 124, 0, 38, 170, 67, 20, 105, 213, 132, 84, 33, 237, 237, 190, 215, 99, 217, 57, - 21, 216, 109, 152, 172, 0, 51, 95, 204, 208, 16, 6, 221, 69, 16, 39, 155, 221, 218, 95, - 175, 54, 127, 51, 129, 112, 123, 201, 107, 200, 148, 252, 176, 204, 193, 109, 109, 37, 235, - 57, 112, 179, 157, - ], - [ - 31, 214, 60, 97, 25, 172, 45, 251, 146, 189, 46, 59, 0, 66, 180, 26, 18, 235, 129, 81, 46, - 173, 160, 230, 124, 170, 79, 175, 221, 36, 155, 96, 6, 221, 69, 43, 123, 162, 190, 189, - 191, 70, 130, 61, 108, 30, 164, 5, 171, 235, 111, 247, 157, 108, 238, 253, 99, 113, 113, - 115, 20, 54, 245, 155, - ], - [ - 79, 139, 32, 119, 213, 117, 8, 131, 23, 197, 3, 55, 65, 213, 243, 119, 45, 90, 255, 150, - 78, 142, 18, 59, 150, 230, 53, 250, 139, 58, 243, 176, 6, 221, 69, 58, 208, 115, 106, 233, - 2, 202, 144, 4, 231, 146, 137, 81, 245, 162, 150, 116, 26, 177, 226, 10, 66, 209, 241, 150, - 121, 14, 246, 128, - ], - [ - 88, 229, 181, 149, 179, 252, 66, 69, 14, 251, 231, 207, 38, 60, 106, 53, 255, 23, 26, 106, - 20, 169, 229, 184, 41, 213, 144, 98, 68, 66, 151, 206, 6, 221, 69, 79, 3, 147, 52, 162, - 207, 16, 129, 231, 8, 89, 20, 64, 92, 38, 105, 188, 203, 71, 75, 8, 27, 137, 97, 30, 195, - 137, 55, 31, - ], - [ - 52, 147, 220, 174, 145, 209, 128, 48, 160, 98, 29, 222, 8, 108, 100, 253, 31, 170, 5, 224, - 121, 163, 222, 110, 145, 152, 234, 225, 25, 127, 116, 196, 6, 221, 69, 119, 149, 123, 78, - 30, 89, 188, 34, 231, 185, 250, 137, 127, 39, 251, 134, 9, 205, 32, 193, 100, 188, 140, - 113, 195, 179, 148, 115, 129, - ], - [ - 162, 32, 118, 102, 129, 76, 200, 109, 62, 153, 180, 211, 171, 105, 2, 73, 39, 213, 220, - 173, 97, 67, 87, 15, 71, 29, 10, 228, 190, 149, 194, 171, 6, 221, 69, 128, 30, 164, 25, - 255, 31, 218, 29, 98, 197, 82, 229, 185, 199, 158, 27, 218, 111, 6, 153, 76, 210, 59, 10, - 122, 22, 104, 254, 24, - ], - [ - 114, 121, 102, 174, 118, 222, 248, 139, 114, 33, 71, 66, 254, 249, 198, 4, 76, 46, 195, 48, - 114, 43, 214, 229, 132, 68, 223, 31, 8, 63, 191, 167, 6, 221, 69, 160, 49, 11, 81, 80, 172, - 75, 137, 253, 101, 223, 68, 4, 94, 169, 147, 50, 32, 18, 151, 203, 163, 37, 134, 39, 168, - 141, 100, 104, - ], - [ - 9, 117, 49, 215, 239, 78, 68, 192, 24, 18, 26, 104, 16, 130, 184, 253, 132, 203, 160, 252, - 39, 56, 77, 143, 235, 106, 92, 134, 57, 22, 226, 241, 6, 221, 69, 180, 202, 119, 172, 102, - 254, 61, 4, 109, 98, 11, 240, 242, 29, 216, 125, 25, 211, 112, 219, 116, 191, 146, 2, 167, - 243, 203, 138, 57, - ], - [ - 251, 6, 103, 203, 45, 189, 10, 145, 56, 160, 85, 86, 4, 9, 49, 81, 246, 233, 164, 99, 136, - 183, 26, 95, 125, 34, 186, 65, 41, 190, 76, 135, 6, 170, 3, 121, 100, 6, 219, 205, 255, 89, - 188, 230, 106, 43, 28, 115, 239, 117, 36, 2, 235, 225, 28, 27, 179, 241, 37, 190, 238, 244, - 33, 71, - ], - [ - 78, 88, 220, 197, 243, 55, 8, 19, 131, 212, 113, 37, 113, 131, 255, 145, 154, 8, 27, 72, - 120, 169, 38, 232, 78, 36, 159, 227, 181, 196, 241, 69, 6, 169, 255, 120, 82, 159, 43, 135, - 60, 16, 129, 157, 94, 199, 189, 69, 98, 193, 31, 226, 105, 225, 178, 79, 11, 100, 3, 128, - 106, 217, 88, 91, - ], - [ - 52, 235, 197, 59, 168, 1, 126, 86, 122, 160, 109, 168, 74, 207, 47, 2, 161, 227, 17, 49, - 117, 50, 187, 164, 43, 173, 62, 0, 31, 48, 45, 152, 6, 169, 255, 138, 85, 238, 207, 151, - 213, 124, 154, 195, 6, 81, 197, 220, 114, 93, 140, 10, 225, 244, 158, 117, 114, 222, 96, - 33, 178, 70, 65, 144, - ], - [ - 24, 149, 25, 125, 220, 158, 61, 194, 158, 173, 221, 188, 214, 129, 79, 200, 142, 6, 132, - 14, 214, 168, 15, 11, 221, 19, 228, 162, 160, 52, 35, 171, 6, 169, 255, 175, 155, 198, 20, - 59, 37, 180, 106, 59, 255, 199, 9, 149, 201, 60, 89, 28, 152, 67, 250, 12, 236, 16, 201, - 124, 69, 43, 255, 43, - ], - [ - 45, 10, 161, 205, 189, 64, 51, 190, 92, 185, 157, 187, 184, 86, 172, 74, 42, 169, 191, 34, - 99, 138, 165, 100, 143, 14, 50, 134, 209, 39, 40, 250, 6, 169, 255, 194, 139, 197, 79, 190, - 13, 142, 107, 30, 221, 95, 131, 214, 57, 93, 3, 34, 10, 198, 216, 191, 46, 187, 156, 8, 53, - 218, 103, 7, - ], - [ - 128, 172, 17, 80, 99, 141, 62, 246, 241, 209, 44, 139, 47, 102, 91, 71, 203, 114, 228, 22, - 161, 69, 195, 94, 5, 122, 44, 208, 98, 246, 126, 252, 6, 169, 255, 203, 94, 174, 132, 137, - 193, 224, 1, 13, 108, 218, 72, 67, 18, 15, 27, 106, 207, 39, 203, 51, 34, 140, 33, 148, - 198, 57, 80, 186, - ], - [ - 130, 79, 64, 48, 164, 164, 65, 34, 52, 169, 190, 241, 155, 2, 50, 80, 149, 21, 189, 207, - 159, 180, 250, 11, 4, 171, 195, 133, 181, 98, 51, 83, 6, 169, 255, 232, 155, 205, 199, 197, - 50, 156, 13, 151, 156, 198, 56, 141, 243, 132, 95, 5, 165, 194, 111, 157, 35, 205, 255, - 154, 227, 208, 38, 54, - ], - [ - 81, 23, 188, 163, 240, 217, 233, 20, 17, 209, 207, 247, 21, 109, 71, 41, 239, 27, 114, 213, - 180, 60, 200, 56, 86, 30, 59, 193, 236, 109, 2, 87, 6, 169, 255, 246, 201, 64, 3, 235, 201, - 92, 119, 89, 123, 251, 216, 121, 207, 60, 196, 176, 53, 212, 158, 219, 76, 0, 254, 30, 204, - 90, 99, 110, - ], - [ - 19, 133, 130, 95, 114, 167, 205, 173, 202, 55, 233, 21, 146, 87, 43, 136, 19, 37, 178, 119, - 10, 60, 240, 201, 104, 83, 82, 245, 241, 161, 0, 243, 6, 170, 0, 20, 54, 123, 221, 208, - 211, 137, 250, 83, 148, 178, 187, 211, 229, 216, 4, 183, 13, 215, 127, 149, 96, 22, 241, - 158, 93, 116, 2, 106, - ], - [ - 116, 17, 60, 67, 14, 49, 123, 237, 91, 13, 119, 152, 158, 98, 92, 252, 46, 8, 193, 156, - 218, 36, 101, 243, 191, 130, 213, 15, 87, 236, 13, 203, 6, 170, 0, 39, 77, 52, 11, 189, - 106, 54, 135, 97, 129, 215, 178, 218, 178, 122, 139, 159, 138, 1, 163, 66, 188, 55, 111, 3, - 194, 221, 4, 157, - ], - [ - 71, 113, 44, 69, 183, 174, 83, 54, 181, 14, 129, 45, 26, 171, 0, 98, 254, 42, 81, 41, 152, - 59, 121, 121, 32, 193, 168, 21, 228, 249, 121, 186, 6, 169, 29, 223, 250, 185, 205, 33, 68, - 237, 81, 226, 175, 58, 14, 152, 24, 188, 6, 107, 83, 159, 145, 75, 134, 197, 93, 56, 247, - 183, 105, 52, - ], - [ - 53, 161, 123, 79, 128, 231, 26, 41, 140, 230, 237, 138, 238, 211, 62, 235, 147, 244, 193, - 86, 102, 167, 218, 2, 77, 218, 76, 220, 201, 177, 246, 48, 6, 169, 25, 230, 79, 24, 59, 85, - 47, 147, 63, 37, 76, 68, 136, 117, 224, 254, 1, 227, 174, 98, 121, 242, 34, 186, 224, 42, - 232, 148, 1, 14, - ], - [ - 30, 77, 68, 45, 186, 130, 111, 104, 109, 178, 188, 179, 149, 62, 191, 75, 92, 218, 166, 13, - 217, 35, 6, 145, 47, 138, 243, 148, 12, 172, 28, 91, 6, 169, 25, 253, 228, 171, 235, 22, - 137, 224, 10, 138, 224, 252, 115, 255, 223, 183, 244, 49, 188, 33, 153, 148, 159, 113, 133, - 18, 7, 196, 201, 186, - ], - [ - 177, 195, 149, 115, 13, 77, 53, 189, 24, 154, 23, 207, 45, 36, 209, 125, 143, 112, 235, - 203, 251, 110, 253, 34, 194, 21, 148, 75, 216, 233, 241, 230, 6, 169, 26, 9, 251, 51, 64, - 253, 78, 130, 140, 212, 159, 70, 180, 221, 185, 35, 31, 75, 200, 79, 210, 12, 176, 39, 5, - 118, 134, 194, 109, 101, - ], - [ - 132, 248, 154, 161, 177, 0, 138, 22, 182, 253, 231, 11, 101, 20, 239, 52, 196, 97, 55, 217, - 71, 85, 181, 245, 205, 49, 201, 15, 5, 121, 198, 25, 6, 169, 26, 53, 32, 56, 4, 14, 59, - 246, 216, 241, 109, 101, 118, 121, 210, 248, 150, 146, 81, 108, 41, 197, 35, 31, 136, 49, - 3, 48, 230, 220, - ], - [ - 68, 88, 216, 141, 127, 8, 14, 215, 52, 240, 180, 140, 149, 85, 194, 191, 78, 66, 147, 104, - 116, 175, 154, 88, 157, 172, 244, 4, 101, 89, 32, 205, 6, 169, 26, 68, 184, 120, 232, 5, - 161, 231, 15, 146, 125, 192, 115, 218, 73, 42, 216, 58, 38, 218, 18, 124, 39, 209, 127, - 141, 208, 58, 143, 74, - ], - [ - 125, 68, 29, 224, 109, 90, 225, 5, 4, 68, 113, 79, 14, 69, 156, 251, 255, 3, 3, 78, 143, - 192, 97, 13, 141, 79, 80, 251, 98, 179, 29, 0, 6, 169, 26, 95, 214, 101, 78, 188, 130, 179, - 93, 176, 31, 211, 36, 45, 178, 147, 195, 5, 60, 245, 177, 244, 173, 229, 200, 10, 15, 192, - 134, 98, - ], - [ - 89, 161, 140, 247, 81, 70, 168, 195, 160, 31, 238, 150, 197, 87, 218, 23, 176, 53, 120, 80, - 30, 66, 238, 124, 19, 50, 84, 140, 91, 104, 128, 185, 6, 169, 26, 108, 55, 197, 45, 169, - 195, 82, 65, 61, 93, 244, 140, 66, 41, 89, 175, 33, 254, 236, 218, 176, 36, 81, 84, 249, - 85, 137, 119, 32, - ], - [ - 118, 98, 213, 162, 231, 127, 239, 8, 219, 178, 112, 63, 47, 114, 226, 41, 92, 125, 0, 52, - 91, 50, 172, 168, 56, 233, 208, 226, 145, 5, 251, 54, 6, 169, 26, 135, 106, 79, 24, 211, - 208, 48, 227, 73, 203, 193, 236, 173, 231, 156, 172, 108, 207, 53, 87, 106, 10, 244, 242, - 7, 205, 219, 126, 46, - ], - [ - 76, 51, 177, 21, 30, 29, 21, 198, 56, 7, 16, 79, 54, 117, 52, 107, 247, 170, 19, 17, 163, - 200, 90, 30, 230, 147, 133, 74, 82, 30, 254, 207, 6, 169, 26, 154, 165, 198, 111, 62, 51, - 119, 221, 239, 148, 33, 216, 94, 65, 218, 185, 92, 186, 139, 102, 196, 114, 78, 91, 246, - 30, 38, 135, 63, - ], - [ - 242, 175, 241, 85, 219, 0, 46, 24, 84, 152, 159, 98, 217, 178, 227, 210, 99, 131, 123, 162, - 140, 216, 91, 176, 18, 117, 68, 218, 206, 46, 207, 187, 6, 169, 34, 229, 88, 80, 244, 147, - 159, 235, 98, 107, 77, 24, 11, 42, 77, 174, 138, 125, 46, 136, 22, 214, 247, 225, 153, 205, - 95, 16, 254, 144, - ], - [ - 190, 188, 239, 40, 80, 186, 232, 154, 58, 48, 175, 241, 167, 30, 34, 158, 115, 86, 72, 232, - 87, 129, 215, 204, 54, 64, 57, 212, 24, 127, 119, 159, 6, 169, 30, 229, 117, 96, 52, 76, - 26, 239, 140, 117, 185, 150, 84, 207, 145, 146, 105, 80, 26, 60, 47, 239, 15, 124, 37, 225, - 186, 11, 208, 38, - ], - [ - 21, 132, 244, 10, 149, 200, 211, 54, 114, 122, 248, 2, 174, 174, 174, 114, 105, 196, 174, - 182, 184, 105, 198, 82, 30, 27, 97, 50, 40, 2, 36, 160, 6, 169, 30, 255, 49, 226, 152, 34, - 164, 232, 152, 249, 109, 24, 94, 207, 230, 191, 239, 222, 56, 166, 56, 76, 198, 74, 53, - 102, 44, 254, 188, 154, - ], - [ - 82, 180, 175, 190, 135, 225, 8, 157, 33, 110, 190, 62, 220, 108, 99, 32, 128, 93, 231, 32, - 56, 63, 101, 8, 141, 32, 95, 51, 136, 109, 71, 58, 6, 169, 31, 19, 162, 86, 195, 186, 79, - 37, 58, 195, 143, 19, 60, 211, 26, 145, 37, 42, 182, 232, 249, 210, 48, 211, 198, 174, 26, - 12, 72, 128, - ], - [ - 26, 42, 8, 16, 221, 61, 197, 13, 80, 191, 28, 59, 169, 163, 199, 152, 173, 81, 222, 198, - 136, 128, 99, 34, 130, 170, 235, 166, 97, 12, 128, 149, 6, 169, 31, 47, 167, 181, 242, 33, - 28, 208, 139, 175, 168, 207, 79, 12, 230, 179, 39, 131, 65, 70, 91, 170, 237, 163, 94, 117, - 128, 15, 176, 66, - ], - [ - 156, 40, 12, 253, 54, 159, 238, 180, 129, 28, 160, 14, 226, 8, 109, 168, 153, 41, 236, 75, - 245, 45, 97, 41, 225, 59, 89, 248, 157, 152, 127, 43, 6, 169, 31, 52, 170, 97, 126, 111, - 145, 194, 178, 224, 70, 179, 57, 207, 255, 85, 168, 120, 113, 24, 91, 57, 204, 12, 43, 124, - 164, 230, 63, 119, - ], - [ - 8, 18, 152, 242, 133, 190, 255, 37, 11, 100, 67, 113, 120, 26, 49, 75, 177, 124, 4, 6, 212, - 194, 221, 209, 99, 14, 116, 146, 170, 91, 232, 137, 6, 169, 31, 88, 255, 85, 195, 155, 39, - 59, 199, 142, 131, 147, 52, 115, 163, 250, 95, 43, 100, 221, 129, 249, 166, 181, 167, 125, - 56, 242, 15, 155, - ], - [ - 92, 80, 147, 181, 9, 240, 37, 55, 190, 68, 1, 87, 180, 179, 102, 56, 77, 196, 146, 118, - 153, 108, 126, 211, 130, 136, 68, 6, 98, 33, 132, 212, 6, 169, 31, 98, 114, 217, 227, 226, - 154, 149, 170, 183, 202, 75, 89, 71, 103, 254, 157, 157, 130, 9, 128, 188, 230, 76, 247, - 175, 126, 223, 163, 72, - ], - [ - 80, 155, 143, 49, 231, 122, 139, 49, 223, 2, 144, 11, 43, 155, 201, 158, 182, 160, 8, 42, - 79, 207, 66, 101, 173, 216, 181, 90, 162, 137, 124, 204, 6, 169, 31, 135, 51, 47, 176, 130, - 148, 166, 230, 83, 134, 154, 232, 72, 141, 120, 8, 27, 249, 212, 79, 139, 122, 50, 252, - 222, 31, 56, 232, 63, - ], - [ - 131, 196, 196, 116, 209, 1, 3, 206, 116, 220, 111, 207, 204, 94, 231, 165, 202, 219, 226, - 98, 157, 78, 3, 198, 232, 123, 239, 203, 158, 255, 45, 103, 6, 169, 31, 145, 194, 31, 167, - 231, 25, 254, 196, 40, 151, 162, 201, 249, 39, 233, 202, 204, 2, 108, 230, 67, 181, 147, - 155, 233, 38, 151, 61, 110, - ], - [ - 134, 235, 55, 217, 38, 176, 145, 84, 135, 196, 193, 58, 104, 172, 26, 100, 151, 206, 104, - 115, 78, 211, 151, 50, 199, 157, 113, 20, 207, 245, 80, 216, 6, 169, 39, 208, 82, 203, 91, - 96, 77, 52, 98, 131, 93, 83, 90, 194, 132, 161, 169, 98, 254, 222, 148, 233, 92, 101, 252, - 151, 93, 214, 64, 64, - ], - [ - 131, 51, 33, 68, 53, 243, 10, 177, 9, 65, 172, 201, 188, 234, 253, 19, 115, 43, 156, 220, - 113, 14, 166, 202, 202, 109, 231, 96, 145, 105, 162, 115, 6, 169, 35, 234, 238, 234, 232, - 61, 24, 170, 229, 250, 60, 120, 8, 68, 226, 24, 168, 190, 198, 101, 174, 11, 187, 71, 241, - 165, 125, 12, 144, 163, - ], - [ - 193, 72, 162, 43, 177, 132, 229, 180, 17, 183, 118, 250, 162, 2, 179, 77, 154, 75, 57, 136, - 29, 226, 66, 156, 246, 11, 138, 187, 73, 113, 162, 76, 6, 169, 35, 242, 22, 220, 131, 229, - 110, 40, 128, 7, 75, 164, 234, 73, 251, 30, 116, 89, 201, 198, 40, 17, 247, 20, 220, 80, - 121, 227, 177, 159, - ], - [ - 114, 133, 35, 207, 203, 196, 55, 46, 139, 29, 191, 213, 34, 230, 95, 237, 205, 19, 104, 86, - 70, 98, 23, 35, 216, 239, 164, 156, 185, 2, 190, 67, 6, 169, 36, 6, 107, 84, 152, 49, 229, - 15, 45, 91, 4, 220, 44, 129, 254, 133, 55, 133, 121, 150, 73, 115, 208, 247, 250, 70, 53, - 166, 113, 207, - ], - [ - 122, 254, 116, 223, 240, 133, 172, 21, 122, 106, 191, 242, 69, 20, 201, 75, 238, 103, 3, - 60, 195, 203, 104, 186, 119, 167, 203, 69, 127, 36, 53, 100, 6, 169, 36, 27, 105, 143, 112, - 82, 171, 50, 19, 82, 47, 124, 104, 225, 120, 233, 197, 183, 24, 31, 161, 79, 0, 142, 67, - 169, 251, 247, 74, 94, - ], - [ - 107, 155, 30, 107, 231, 71, 66, 64, 224, 233, 71, 137, 109, 6, 225, 208, 16, 159, 177, 103, - 145, 81, 174, 54, 13, 150, 36, 50, 149, 128, 79, 218, 6, 169, 36, 50, 207, 194, 191, 90, - 172, 120, 109, 66, 146, 9, 74, 217, 148, 48, 224, 81, 27, 184, 123, 174, 208, 233, 155, - 200, 13, 199, 109, 61, - ], - [ - 212, 192, 4, 118, 74, 202, 106, 37, 196, 246, 8, 143, 225, 37, 226, 211, 154, 20, 15, 121, - 15, 163, 35, 234, 222, 125, 221, 45, 10, 186, 33, 88, 6, 169, 36, 87, 211, 136, 170, 121, - 224, 244, 241, 253, 150, 235, 108, 147, 37, 234, 234, 207, 133, 144, 127, 110, 13, 61, 72, - 53, 154, 250, 173, 74, - ], - [ - 90, 60, 212, 173, 127, 176, 182, 129, 205, 195, 117, 127, 230, 182, 241, 124, 171, 73, 249, - 253, 242, 4, 58, 181, 7, 118, 185, 235, 169, 148, 109, 45, 6, 169, 36, 107, 63, 254, 209, - 212, 37, 237, 148, 3, 102, 205, 118, 136, 148, 214, 45, 201, 61, 253, 1, 152, 26, 198, 21, - 153, 153, 79, 195, 103, - ], - [ - 66, 99, 33, 41, 48, 226, 232, 139, 150, 63, 91, 81, 45, 101, 166, 25, 74, 153, 64, 208, - 157, 41, 40, 50, 80, 189, 73, 87, 29, 154, 50, 228, 6, 169, 36, 126, 12, 59, 110, 62, 207, - 26, 98, 171, 249, 246, 0, 67, 63, 232, 158, 231, 228, 153, 37, 135, 68, 65, 86, 34, 215, - 110, 184, 82, - ], - [ - 123, 79, 8, 58, 114, 152, 58, 230, 116, 81, 175, 147, 204, 109, 188, 220, 66, 194, 46, 159, - 245, 248, 80, 107, 94, 174, 75, 139, 39, 113, 163, 99, 6, 169, 36, 152, 10, 55, 136, 47, - 35, 93, 130, 190, 155, 189, 84, 241, 155, 101, 30, 172, 136, 197, 89, 176, 12, 214, 145, - 123, 1, 174, 192, 198, - ], - [ - 4, 165, 146, 111, 254, 21, 132, 153, 18, 4, 108, 65, 233, 249, 105, 154, 81, 10, 173, 146, - 123, 59, 253, 6, 8, 238, 107, 91, 99, 37, 92, 210, 6, 169, 44, 219, 71, 213, 37, 16, 112, - 90, 65, 119, 156, 152, 183, 41, 154, 199, 163, 5, 170, 170, 76, 8, 167, 130, 191, 207, 157, - 106, 196, 155, - ], - [ - 99, 131, 159, 69, 140, 157, 135, 86, 199, 163, 44, 122, 216, 43, 50, 203, 128, 109, 68, 30, - 250, 84, 192, 182, 78, 27, 204, 3, 254, 15, 224, 185, 6, 169, 40, 222, 81, 238, 144, 63, - 75, 204, 54, 0, 133, 159, 15, 72, 123, 130, 149, 196, 58, 148, 39, 110, 184, 232, 45, 28, - 210, 232, 7, 211, - ], - [ - 36, 63, 36, 225, 134, 152, 167, 211, 252, 105, 166, 67, 190, 155, 13, 81, 112, 10, 68, 51, - 127, 74, 212, 139, 242, 27, 78, 236, 99, 154, 21, 32, 6, 169, 40, 242, 103, 145, 170, 112, - 39, 136, 228, 113, 60, 123, 181, 182, 90, 80, 10, 110, 75, 112, 112, 175, 150, 157, 11, - 139, 142, 35, 191, 108, - ], - [ - 222, 101, 218, 39, 7, 38, 69, 136, 144, 142, 67, 189, 239, 190, 231, 178, 109, 85, 242, 72, - 2, 187, 124, 12, 78, 47, 112, 235, 43, 171, 97, 119, 6, 169, 41, 4, 30, 200, 168, 111, 162, - 177, 69, 0, 224, 233, 103, 188, 10, 3, 226, 9, 109, 119, 231, 180, 67, 169, 5, 40, 81, 34, - 22, 194, - ], - [ - 174, 89, 19, 173, 145, 114, 190, 206, 191, 71, 14, 96, 10, 58, 3, 34, 166, 136, 166, 155, - 49, 1, 11, 80, 200, 57, 104, 58, 48, 65, 151, 35, 6, 169, 41, 27, 216, 191, 185, 203, 220, - 92, 141, 89, 95, 240, 139, 184, 163, 146, 22, 225, 220, 245, 241, 146, 239, 240, 18, 36, - 217, 116, 188, 209, - ], - [ - 223, 119, 101, 246, 49, 109, 204, 254, 22, 18, 113, 50, 70, 26, 114, 15, 197, 71, 207, 173, - 137, 3, 144, 123, 72, 146, 234, 110, 24, 182, 158, 243, 6, 169, 41, 68, 86, 240, 100, 193, - 147, 57, 69, 155, 178, 220, 114, 208, 144, 66, 214, 131, 243, 0, 208, 53, 7, 59, 163, 65, - 38, 208, 141, 120, - ], - [ - 133, 59, 112, 31, 146, 231, 1, 165, 88, 72, 198, 243, 166, 207, 42, 164, 64, 74, 89, 55, - 240, 184, 194, 252, 118, 24, 219, 168, 175, 243, 207, 4, 6, 169, 41, 70, 234, 161, 221, 87, - 208, 43, 141, 30, 97, 79, 183, 187, 193, 68, 187, 133, 222, 120, 251, 87, 127, 75, 94, 193, - 13, 22, 146, 91, - ], - [ - 226, 208, 81, 138, 4, 24, 169, 14, 48, 80, 226, 220, 106, 177, 111, 63, 113, 229, 169, 76, - 180, 146, 0, 156, 67, 182, 186, 34, 78, 177, 30, 157, 6, 169, 41, 98, 39, 137, 191, 26, 43, - 186, 14, 186, 117, 163, 5, 86, 46, 167, 86, 181, 107, 247, 53, 232, 105, 102, 6, 21, 19, - 100, 179, 245, - ], - [ - 234, 78, 171, 186, 234, 52, 229, 78, 156, 162, 125, 223, 229, 215, 242, 141, 96, 102, 10, - 83, 107, 44, 207, 84, 18, 218, 171, 60, 223, 90, 95, 66, 6, 169, 41, 114, 17, 50, 154, 108, - 16, 248, 178, 68, 237, 120, 133, 190, 21, 168, 150, 5, 245, 227, 20, 217, 93, 29, 219, 116, - 224, 231, 211, 41, - ], - [ - 173, 180, 48, 156, 212, 249, 72, 87, 128, 50, 85, 101, 88, 161, 190, 200, 189, 145, 21, 35, - 168, 155, 172, 123, 241, 26, 247, 160, 214, 22, 159, 158, 6, 169, 41, 153, 198, 120, 145, - 80, 83, 213, 145, 248, 234, 56, 29, 110, 64, 10, 197, 186, 109, 197, 92, 124, 10, 159, 158, - 171, 44, 24, 93, 38, - ], - [ - 219, 184, 75, 95, 247, 196, 238, 129, 108, 17, 218, 42, 90, 232, 126, 54, 225, 239, 194, - 82, 27, 139, 22, 154, 53, 171, 48, 201, 30, 187, 49, 172, 6, 169, 49, 211, 191, 123, 197, - 64, 116, 240, 3, 30, 133, 243, 145, 58, 78, 249, 147, 194, 98, 112, 141, 158, 128, 4, 135, - 107, 112, 37, 166, 43, - ], - [ - 254, 53, 35, 91, 21, 94, 91, 28, 108, 72, 52, 151, 119, 161, 236, 144, 36, 123, 102, 82, - 159, 45, 14, 253, 137, 241, 93, 80, 68, 237, 222, 140, 6, 169, 45, 224, 162, 75, 5, 11, - 233, 155, 93, 232, 247, 103, 169, 76, 2, 219, 209, 62, 145, 115, 115, 231, 250, 191, 110, - 133, 195, 0, 68, 202, - ], - [ - 37, 138, 246, 64, 35, 165, 151, 197, 3, 73, 122, 232, 160, 162, 135, 120, 5, 105, 29, 59, - 165, 58, 114, 218, 14, 159, 251, 17, 196, 63, 106, 142, 6, 169, 45, 248, 224, 231, 161, 87, - 22, 71, 163, 197, 32, 100, 24, 19, 104, 231, 220, 13, 24, 144, 239, 175, 198, 178, 115, - 138, 247, 179, 136, 81, - ], - [ - 84, 86, 101, 3, 26, 117, 253, 134, 187, 71, 126, 22, 77, 238, 3, 50, 160, 207, 149, 164, - 209, 103, 174, 25, 194, 177, 156, 58, 195, 28, 221, 40, 6, 169, 46, 17, 126, 34, 243, 108, - 12, 58, 3, 47, 228, 28, 10, 117, 125, 25, 175, 0, 137, 52, 104, 87, 69, 35, 132, 135, 190, - 19, 232, 255, - ], - [ - 208, 170, 208, 95, 76, 214, 120, 121, 46, 179, 212, 108, 104, 187, 74, 233, 92, 152, 93, - 135, 91, 93, 16, 201, 22, 211, 245, 32, 94, 201, 250, 99, 6, 169, 46, 40, 34, 163, 219, 52, - 165, 3, 182, 146, 165, 179, 130, 130, 123, 10, 133, 118, 123, 22, 33, 47, 5, 127, 109, 251, - 72, 199, 179, 1, - ], - [ - 9, 144, 164, 229, 248, 253, 250, 84, 13, 61, 11, 27, 123, 44, 239, 55, 25, 231, 73, 129, - 104, 87, 83, 112, 59, 213, 211, 178, 207, 203, 104, 111, 6, 169, 46, 48, 17, 68, 64, 233, - 242, 223, 217, 249, 128, 47, 154, 56, 91, 60, 31, 60, 134, 157, 151, 46, 208, 255, 220, - 198, 249, 93, 76, 57, - ], - [ - 237, 102, 226, 61, 17, 136, 210, 189, 123, 7, 187, 92, 184, 217, 35, 58, 108, 153, 210, - 182, 96, 190, 115, 245, 222, 75, 37, 68, 124, 252, 220, 13, 6, 169, 46, 66, 50, 147, 171, - 136, 109, 61, 135, 171, 214, 82, 71, 0, 76, 177, 227, 100, 189, 115, 154, 53, 134, 176, 57, - 93, 90, 81, 238, 45, - ], - [ - 158, 9, 128, 0, 119, 53, 9, 0, 84, 0, 63, 129, 102, 92, 102, 199, 192, 43, 152, 211, 146, - 99, 82, 107, 87, 250, 150, 23, 48, 21, 5, 143, 6, 169, 46, 93, 20, 72, 180, 139, 185, 2, - 132, 178, 164, 109, 172, 220, 33, 145, 232, 131, 200, 200, 240, 111, 28, 23, 233, 59, 4, - 159, 2, 89, - ], - [ - 199, 57, 17, 43, 66, 175, 48, 245, 81, 180, 128, 215, 222, 116, 72, 93, 223, 208, 93, 95, - 163, 108, 82, 240, 228, 25, 36, 138, 249, 117, 121, 43, 6, 169, 46, 121, 106, 82, 239, 165, - 66, 0, 19, 179, 40, 32, 93, 7, 164, 94, 7, 166, 169, 255, 190, 161, 167, 135, 67, 180, 202, - 184, 102, 189, - ], - [ - 244, 68, 4, 118, 138, 124, 235, 217, 188, 122, 152, 91, 137, 47, 55, 213, 48, 77, 3, 92, - 50, 148, 79, 165, 203, 9, 189, 219, 140, 202, 217, 147, 6, 169, 46, 135, 72, 103, 125, 24, - 249, 234, 157, 148, 51, 83, 220, 33, 60, 46, 35, 128, 255, 235, 147, 135, 128, 65, 79, 187, - 236, 136, 76, 32, - ], - [ - 197, 112, 1, 166, 254, 193, 16, 35, 240, 244, 28, 155, 141, 201, 74, 90, 98, 152, 162, 94, - 181, 229, 154, 90, 217, 152, 208, 14, 213, 39, 81, 116, 6, 169, 54, 200, 70, 127, 216, 16, - 62, 184, 136, 55, 220, 77, 235, 98, 213, 163, 107, 66, 53, 60, 178, 181, 86, 21, 13, 119, - 148, 183, 37, 9, - ], - [ - 198, 240, 105, 166, 129, 32, 100, 243, 166, 85, 148, 9, 141, 92, 210, 86, 105, 246, 51, - 106, 233, 105, 75, 142, 234, 21, 244, 233, 131, 241, 247, 129, 6, 169, 50, 222, 84, 29, - 222, 6, 92, 0, 172, 226, 3, 226, 206, 108, 45, 132, 53, 121, 55, 137, 202, 87, 220, 107, - 32, 208, 189, 230, 234, 105, - ], - [ - 172, 146, 59, 223, 123, 200, 21, 15, 109, 213, 73, 163, 143, 243, 226, 115, 197, 14, 67, - 199, 11, 20, 53, 133, 41, 166, 71, 157, 88, 179, 44, 233, 6, 169, 50, 239, 110, 23, 148, - 14, 224, 46, 174, 220, 30, 87, 144, 42, 115, 123, 92, 13, 151, 79, 248, 73, 237, 150, 28, - 127, 36, 219, 178, 223, - ], - [ - 121, 255, 88, 48, 179, 88, 2, 103, 68, 45, 152, 5, 241, 235, 62, 28, 125, 8, 173, 184, 123, - 235, 76, 137, 145, 91, 56, 0, 146, 235, 67, 91, 6, 169, 51, 1, 227, 254, 13, 205, 201, 195, - 97, 78, 98, 55, 48, 155, 66, 71, 144, 15, 30, 209, 241, 80, 206, 78, 182, 60, 38, 46, 15, - 190, - ], - [ - 24, 218, 197, 71, 48, 88, 246, 47, 27, 29, 81, 249, 246, 245, 135, 172, 142, 74, 6, 237, - 105, 154, 112, 228, 115, 68, 46, 175, 137, 157, 38, 215, 6, 169, 51, 31, 4, 214, 102, 251, - 169, 236, 96, 143, 109, 97, 124, 255, 186, 7, 95, 234, 182, 29, 120, 161, 80, 220, 216, - 237, 196, 96, 252, 57, - ], - [ - 35, 160, 222, 169, 21, 122, 33, 178, 80, 4, 204, 139, 102, 0, 14, 148, 46, 185, 8, 149, - 214, 146, 223, 195, 177, 68, 195, 222, 183, 210, 81, 74, 6, 169, 51, 46, 151, 15, 197, 239, - 246, 53, 214, 184, 103, 108, 241, 84, 163, 63, 254, 19, 54, 136, 33, 129, 19, 204, 156, - 143, 155, 153, 124, 25, - ], - [ - 115, 196, 181, 195, 46, 236, 41, 149, 111, 142, 76, 119, 21, 52, 130, 56, 59, 129, 234, 14, - 176, 107, 86, 42, 210, 206, 62, 34, 65, 173, 126, 183, 6, 169, 51, 82, 192, 52, 42, 119, - 138, 133, 29, 56, 60, 36, 253, 86, 47, 150, 255, 180, 150, 206, 40, 190, 109, 221, 91, 238, - 68, 153, 73, 226, - ], - [ - 89, 232, 101, 151, 214, 177, 2, 129, 70, 90, 155, 133, 220, 229, 112, 21, 106, 173, 10, 76, - 250, 170, 255, 71, 153, 151, 194, 189, 234, 146, 78, 105, 6, 169, 51, 98, 245, 143, 210, - 87, 82, 120, 73, 68, 171, 174, 36, 28, 69, 19, 140, 119, 175, 127, 153, 19, 36, 60, 64, - 203, 148, 119, 131, 222, - ], - [ - 123, 248, 53, 251, 19, 137, 126, 164, 198, 84, 255, 19, 198, 241, 173, 17, 253, 46, 52, 82, - 55, 16, 248, 30, 227, 204, 22, 127, 147, 67, 11, 179, 6, 169, 51, 117, 55, 170, 107, 112, - 30, 162, 26, 204, 207, 180, 35, 118, 248, 84, 32, 176, 190, 182, 26, 28, 243, 169, 64, 162, - 23, 225, 73, 112, - ], - [ - 234, 202, 163, 52, 220, 219, 123, 206, 220, 243, 30, 227, 6, 153, 99, 204, 250, 197, 28, - 179, 157, 38, 185, 91, 73, 231, 164, 151, 176, 241, 186, 98, 6, 169, 51, 142, 80, 66, 144, - 56, 224, 217, 16, 214, 81, 76, 249, 204, 80, 179, 156, 23, 51, 126, 45, 142, 123, 146, 138, - 139, 157, 185, 39, 75, - ], - [ - 65, 80, 251, 17, 93, 15, 176, 135, 253, 161, 236, 58, 136, 90, 118, 23, 7, 74, 6, 14, 85, - 129, 48, 63, 155, 237, 220, 220, 51, 176, 23, 12, 6, 169, 59, 218, 2, 112, 116, 125, 182, - 140, 135, 125, 131, 4, 222, 33, 35, 58, 238, 241, 199, 7, 37, 247, 196, 54, 156, 43, 147, - 92, 230, 115, - ], - [ - 103, 22, 28, 30, 212, 154, 104, 12, 103, 225, 180, 175, 125, 254, 213, 106, 106, 63, 75, - 80, 168, 109, 58, 179, 113, 238, 173, 232, 153, 98, 39, 51, 6, 169, 55, 225, 2, 160, 182, - 117, 57, 220, 21, 254, 49, 21, 186, 150, 194, 129, 61, 255, 160, 103, 195, 101, 51, 44, 38, - 139, 46, 57, 80, 137, - ], - [ - 139, 135, 46, 220, 95, 220, 37, 10, 244, 134, 244, 158, 203, 62, 224, 126, 85, 201, 58, 81, - 110, 62, 224, 24, 249, 71, 151, 228, 17, 252, 107, 142, 6, 169, 55, 233, 180, 173, 214, - 179, 46, 75, 115, 126, 197, 95, 48, 39, 81, 209, 237, 89, 136, 195, 54, 33, 2, 153, 47, 85, - 89, 240, 129, 93, - ], - [ - 136, 37, 249, 159, 134, 162, 118, 143, 189, 251, 175, 242, 51, 115, 236, 57, 4, 81, 182, - 16, 34, 48, 19, 21, 4, 128, 140, 116, 252, 110, 2, 118, 6, 169, 56, 16, 215, 79, 179, 51, - 196, 230, 63, 31, 76, 182, 114, 182, 194, 31, 65, 12, 205, 78, 13, 136, 32, 218, 232, 244, - 133, 183, 182, 72, - ], - [ - 218, 157, 158, 105, 89, 120, 148, 56, 85, 201, 36, 185, 114, 59, 47, 122, 52, 254, 190, 91, - 235, 243, 230, 14, 84, 125, 168, 148, 120, 98, 200, 68, 6, 169, 56, 32, 194, 44, 12, 30, - 238, 134, 192, 214, 147, 198, 115, 232, 110, 85, 152, 86, 94, 1, 126, 125, 250, 221, 93, - 58, 190, 195, 168, 160, - ], - [ - 111, 190, 234, 251, 55, 196, 133, 150, 44, 42, 213, 192, 168, 66, 84, 211, 251, 94, 138, - 143, 150, 24, 153, 195, 5, 193, 56, 161, 58, 139, 206, 93, 6, 169, 56, 57, 91, 12, 228, - 142, 70, 71, 143, 206, 80, 207, 156, 196, 71, 232, 217, 178, 105, 70, 107, 17, 38, 86, 71, - 118, 219, 220, 92, 193, - ], - [ - 8, 83, 197, 5, 16, 159, 227, 247, 67, 67, 55, 213, 21, 31, 33, 251, 15, 79, 65, 192, 151, - 59, 89, 16, 87, 207, 155, 152, 103, 182, 185, 244, 6, 169, 56, 70, 102, 175, 54, 126, 168, - 156, 173, 193, 232, 232, 4, 107, 129, 179, 55, 232, 176, 19, 184, 192, 60, 17, 217, 77, 26, - 70, 66, 214, - ], - [ - 73, 155, 38, 12, 253, 131, 91, 50, 21, 98, 228, 210, 50, 37, 132, 28, 162, 202, 253, 155, - 179, 120, 200, 178, 115, 37, 108, 249, 241, 146, 195, 169, 6, 169, 56, 104, 50, 34, 22, 72, - 74, 167, 115, 255, 173, 55, 87, 186, 168, 82, 225, 192, 72, 66, 220, 143, 177, 37, 85, 226, - 144, 114, 187, 119, - ], - [ - 112, 255, 42, 6, 115, 29, 83, 97, 69, 95, 162, 142, 155, 96, 45, 241, 114, 82, 132, 94, - 251, 169, 153, 244, 121, 104, 146, 22, 234, 170, 134, 69, 6, 169, 56, 109, 78, 48, 28, 219, - 12, 54, 182, 146, 118, 114, 154, 102, 161, 214, 185, 210, 65, 116, 186, 146, 4, 56, 43, - 194, 48, 160, 64, 201, - ], - [ - 68, 92, 87, 73, 134, 217, 123, 46, 16, 102, 226, 73, 201, 53, 224, 100, 71, 19, 108, 96, - 24, 232, 245, 238, 51, 130, 74, 48, 245, 143, 65, 17, 6, 169, 56, 132, 19, 92, 145, 138, - 17, 228, 226, 144, 241, 98, 164, 73, 220, 201, 171, 178, 83, 225, 137, 150, 192, 192, 137, - 137, 95, 96, 74, 239, - ], - [ - 51, 70, 134, 181, 134, 88, 125, 47, 36, 178, 40, 249, 3, 130, 181, 84, 39, 101, 200, 114, - 97, 112, 118, 161, 117, 133, 170, 31, 55, 77, 69, 13, 6, 169, 64, 210, 211, 99, 30, 139, - 79, 10, 141, 34, 111, 192, 172, 136, 81, 213, 103, 189, 118, 50, 242, 180, 104, 94, 59, - 213, 146, 120, 98, 155, - ], - [ - 11, 55, 143, 200, 234, 220, 7, 172, 190, 6, 45, 9, 186, 128, 214, 86, 24, 165, 110, 139, - 245, 170, 221, 101, 113, 231, 152, 6, 187, 205, 96, 233, 6, 169, 60, 212, 84, 138, 239, 90, - 213, 79, 187, 191, 161, 64, 232, 112, 142, 173, 62, 112, 9, 73, 148, 241, 6, 120, 53, 57, - 159, 89, 106, 199, - ], - [ - 121, 3, 232, 93, 201, 124, 243, 238, 50, 187, 12, 67, 231, 123, 103, 174, 44, 63, 37, 109, - 129, 170, 4, 64, 175, 68, 158, 229, 16, 104, 101, 22, 6, 169, 60, 230, 38, 22, 221, 105, - 50, 212, 215, 185, 24, 102, 108, 255, 145, 89, 229, 228, 141, 204, 226, 224, 249, 220, 202, - 18, 74, 56, 155, 114, - ], - [ - 68, 87, 216, 236, 9, 136, 39, 73, 148, 131, 99, 218, 51, 100, 51, 4, 207, 191, 220, 64, 5, - 205, 26, 82, 155, 219, 155, 69, 218, 121, 246, 28, 6, 169, 60, 255, 169, 156, 91, 208, 91, - 29, 166, 99, 198, 79, 49, 110, 103, 200, 45, 132, 203, 244, 48, 206, 67, 226, 2, 254, 137, - 219, 254, 176, - ], - [ - 56, 0, 67, 194, 78, 73, 223, 30, 39, 139, 4, 127, 232, 216, 179, 75, 30, 103, 225, 65, 188, - 209, 0, 246, 45, 169, 156, 114, 173, 128, 172, 118, 6, 169, 61, 30, 59, 158, 222, 162, 52, - 158, 189, 9, 38, 166, 191, 8, 94, 57, 209, 209, 133, 89, 167, 100, 242, 183, 185, 141, 51, - 187, 127, 157, - ], - [ - 98, 177, 117, 157, 227, 111, 223, 33, 254, 177, 195, 166, 79, 138, 68, 240, 176, 210, 236, - 211, 250, 184, 237, 122, 123, 54, 188, 26, 151, 21, 164, 68, 6, 169, 61, 55, 12, 77, 220, - 28, 56, 116, 102, 17, 30, 229, 103, 20, 164, 45, 63, 126, 172, 14, 165, 8, 152, 72, 162, - 100, 141, 175, 4, 48, - ], - [ - 84, 229, 213, 82, 56, 125, 98, 62, 187, 94, 164, 103, 243, 181, 36, 178, 244, 28, 70, 249, - 115, 114, 34, 179, 148, 167, 84, 156, 141, 174, 37, 148, 6, 169, 61, 61, 153, 26, 91, 158, - 191, 147, 119, 99, 49, 252, 252, 168, 211, 93, 89, 142, 124, 78, 123, 214, 12, 122, 78, - 243, 75, 159, 187, 203, - ], - [ - 11, 232, 133, 232, 90, 75, 91, 103, 129, 209, 168, 255, 147, 75, 180, 236, 153, 219, 176, - 99, 76, 137, 177, 61, 5, 237, 255, 164, 38, 198, 251, 203, 6, 169, 61, 83, 90, 231, 63, - 205, 233, 228, 70, 215, 78, 188, 6, 89, 229, 2, 187, 92, 88, 161, 208, 137, 144, 253, 105, - 249, 163, 242, 109, 70, - ], - [ - 50, 93, 77, 180, 54, 187, 1, 168, 97, 167, 83, 99, 104, 241, 179, 134, 2, 136, 229, 153, - 209, 166, 205, 207, 187, 230, 211, 186, 69, 159, 4, 23, 6, 169, 61, 114, 200, 141, 84, 166, - 251, 187, 135, 101, 126, 2, 160, 12, 138, 226, 158, 124, 133, 112, 111, 104, 14, 107, 86, - 54, 133, 210, 153, 215, - ], - [ - 73, 41, 12, 149, 39, 87, 227, 127, 68, 9, 16, 124, 131, 97, 56, 49, 48, 212, 197, 99, 164, - 24, 122, 215, 225, 20, 158, 95, 209, 136, 194, 201, 6, 169, 61, 144, 67, 150, 5, 223, 151, - 21, 137, 12, 84, 152, 106, 112, 163, 84, 107, 105, 74, 89, 216, 63, 102, 53, 147, 196, 202, - 81, 222, 51, - ], - [ - 79, 77, 190, 137, 92, 21, 151, 207, 52, 129, 165, 168, 222, 116, 19, 154, 139, 245, 30, 28, - 53, 146, 23, 242, 147, 152, 80, 220, 120, 27, 159, 78, 6, 169, 69, 201, 71, 136, 254, 68, - 11, 207, 61, 8, 95, 0, 231, 116, 198, 212, 188, 198, 76, 148, 201, 196, 143, 93, 114, 173, - 0, 208, 197, 134, - ], - [ - 159, 78, 86, 127, 28, 123, 9, 173, 122, 150, 35, 215, 152, 149, 54, 238, 49, 233, 145, 51, - 214, 252, 7, 108, 43, 221, 225, 131, 116, 74, 206, 139, 6, 169, 65, 209, 131, 231, 252, - 216, 242, 193, 216, 89, 244, 71, 151, 138, 75, 241, 225, 2, 4, 7, 251, 247, 11, 223, 36, - 19, 140, 154, 214, 18, - ], - [ - 207, 93, 139, 125, 189, 3, 184, 190, 254, 196, 201, 84, 125, 213, 108, 254, 240, 5, 97, - 189, 179, 71, 9, 179, 141, 57, 126, 247, 246, 34, 106, 170, 6, 169, 65, 245, 45, 194, 93, - 75, 215, 208, 14, 103, 194, 37, 214, 207, 26, 101, 84, 231, 196, 104, 42, 73, 48, 104, 75, - 219, 135, 96, 147, 151, - ], - [ - 92, 87, 6, 75, 172, 30, 84, 34, 74, 241, 114, 44, 5, 30, 209, 75, 148, 181, 40, 135, 49, - 198, 50, 36, 229, 94, 104, 124, 215, 241, 149, 169, 6, 169, 66, 4, 40, 73, 81, 140, 56, - 194, 76, 87, 131, 151, 151, 245, 67, 97, 58, 54, 89, 179, 52, 41, 235, 17, 215, 24, 146, - 237, 96, 229, - ], - [ - 180, 33, 141, 121, 218, 239, 131, 189, 184, 194, 222, 212, 225, 50, 107, 105, 65, 194, 78, - 196, 3, 6, 35, 253, 142, 137, 154, 36, 42, 218, 48, 6, 6, 169, 66, 30, 8, 115, 188, 226, - 236, 124, 2, 235, 240, 86, 46, 180, 132, 164, 4, 61, 2, 100, 105, 202, 164, 54, 25, 139, - 199, 132, 112, 108, - ], - [ - 33, 17, 216, 98, 21, 103, 138, 196, 122, 39, 119, 49, 46, 25, 196, 169, 221, 82, 122, 46, - 156, 88, 209, 135, 217, 236, 231, 51, 93, 225, 45, 107, 6, 169, 66, 47, 199, 172, 41, 116, - 220, 4, 129, 193, 245, 210, 208, 64, 20, 116, 189, 254, 187, 11, 91, 159, 170, 117, 67, - 181, 135, 200, 0, 132, - ], - [ - 80, 177, 93, 109, 0, 136, 91, 160, 98, 142, 220, 35, 199, 157, 120, 79, 152, 15, 92, 114, - 249, 106, 72, 237, 86, 21, 51, 1, 131, 133, 175, 161, 6, 169, 66, 56, 151, 169, 25, 101, - 125, 97, 50, 103, 157, 31, 118, 94, 91, 208, 242, 188, 120, 147, 58, 68, 4, 77, 79, 178, - 26, 36, 34, 211, - ], - [ - 171, 128, 51, 245, 170, 227, 59, 212, 130, 167, 45, 16, 7, 226, 15, 182, 111, 138, 146, - 155, 223, 149, 201, 223, 90, 74, 99, 112, 59, 52, 181, 153, 6, 169, 66, 88, 193, 32, 146, - 246, 238, 77, 147, 38, 136, 38, 198, 148, 83, 210, 19, 246, 219, 8, 113, 6, 218, 154, 209, - 133, 147, 227, 248, 7, - ], - [ - 66, 56, 37, 190, 84, 10, 194, 127, 246, 173, 50, 42, 68, 110, 226, 215, 134, 77, 231, 233, - 166, 166, 87, 129, 144, 190, 116, 246, 100, 186, 177, 129, 6, 169, 66, 114, 4, 182, 224, - 235, 213, 133, 174, 6, 32, 87, 171, 226, 32, 244, 107, 119, 187, 75, 184, 104, 100, 165, - 100, 189, 182, 253, 11, 234, - ], - [ - 46, 11, 224, 187, 133, 223, 39, 50, 148, 130, 19, 21, 90, 130, 216, 226, 97, 157, 205, 112, - 107, 165, 106, 182, 213, 34, 123, 168, 127, 220, 254, 36, 6, 169, 66, 131, 6, 244, 206, - 172, 21, 35, 205, 121, 159, 100, 185, 64, 56, 58, 31, 174, 6, 147, 197, 135, 244, 73, 124, - 161, 192, 97, 77, 235, - ], - [ - 135, 215, 123, 42, 109, 130, 28, 10, 129, 156, 143, 174, 70, 48, 249, 28, 19, 144, 150, - 239, 186, 146, 68, 93, 195, 102, 182, 35, 17, 116, 146, 5, 6, 171, 36, 227, 19, 250, 156, - 106, 182, 26, 97, 150, 187, 236, 26, 94, 185, 218, 179, 213, 64, 5, 230, 41, 59, 192, 255, - 242, 113, 13, 251, 212, - ], - [ - 153, 236, 233, 205, 245, 236, 46, 218, 30, 154, 98, 150, 184, 56, 113, 133, 192, 123, 107, - 77, 24, 75, 171, 212, 199, 246, 243, 148, 109, 15, 202, 150, 6, 171, 32, 235, 54, 249, 189, - 70, 70, 71, 89, 84, 80, 33, 21, 154, 1, 32, 24, 85, 155, 4, 93, 170, 91, 244, 29, 252, 208, - 228, 220, 37, - ], - [ - 190, 75, 97, 17, 113, 20, 45, 130, 251, 39, 36, 189, 60, 81, 44, 226, 105, 232, 61, 144, - 75, 132, 126, 169, 19, 65, 67, 122, 109, 209, 106, 178, 6, 171, 33, 17, 94, 41, 157, 83, - 249, 57, 243, 214, 94, 127, 187, 159, 159, 252, 237, 37, 227, 59, 148, 14, 160, 213, 69, - 18, 181, 178, 102, 234, - ], - [ - 126, 209, 127, 57, 109, 217, 72, 46, 133, 245, 11, 61, 184, 32, 22, 240, 134, 237, 230, - 169, 56, 39, 32, 27, 117, 205, 162, 63, 82, 71, 206, 242, 6, 171, 33, 23, 134, 187, 42, 25, - 91, 233, 181, 230, 233, 217, 58, 33, 145, 207, 49, 7, 64, 0, 64, 14, 26, 242, 38, 43, 180, - 251, 55, 178, - ], - [ - 29, 167, 59, 214, 70, 227, 187, 15, 176, 107, 250, 245, 5, 177, 8, 251, 45, 209, 237, 29, - 237, 249, 101, 51, 106, 99, 207, 166, 109, 20, 139, 131, 6, 171, 33, 51, 51, 41, 132, 52, - 219, 84, 41, 96, 52, 126, 165, 214, 57, 174, 71, 55, 167, 210, 46, 11, 14, 2, 189, 113, - 206, 233, 183, 160, - ], - [ - 252, 185, 167, 127, 166, 209, 238, 249, 218, 114, 65, 191, 80, 115, 142, 183, 90, 128, 110, - 45, 113, 129, 234, 159, 147, 176, 97, 10, 131, 240, 203, 148, 6, 171, 33, 64, 28, 196, 53, - 46, 244, 82, 148, 206, 116, 79, 173, 4, 52, 69, 154, 127, 3, 251, 55, 170, 77, 225, 53, - 219, 117, 223, 57, 219, - ], - [ - 120, 124, 234, 179, 60, 183, 52, 18, 106, 113, 55, 246, 87, 204, 51, 59, 203, 182, 48, 78, - 11, 131, 132, 220, 144, 60, 252, 91, 248, 38, 189, 207, 6, 171, 33, 92, 96, 2, 86, 41, 55, - 202, 35, 160, 137, 96, 142, 85, 99, 110, 126, 252, 59, 249, 152, 183, 35, 30, 32, 133, 65, - 8, 159, 121, - ], - [ - 2, 100, 222, 113, 25, 210, 141, 166, 71, 119, 85, 29, 7, 162, 26, 58, 30, 59, 231, 26, 183, - 9, 247, 45, 92, 249, 125, 65, 217, 131, 232, 134, 6, 171, 33, 114, 138, 141, 185, 239, 36, - 193, 78, 117, 4, 197, 194, 229, 236, 94, 63, 81, 229, 144, 66, 242, 44, 9, 199, 236, 233, - 131, 64, 220, - ], - [ - 206, 38, 19, 69, 131, 26, 179, 129, 52, 150, 196, 236, 51, 224, 103, 192, 236, 192, 189, - 15, 35, 68, 155, 90, 122, 242, 55, 109, 132, 174, 230, 223, 6, 171, 33, 142, 153, 7, 138, - 238, 237, 209, 77, 67, 5, 191, 33, 237, 4, 177, 5, 47, 38, 148, 116, 163, 42, 55, 99, 131, - 217, 108, 231, 126, - ], - [ - 48, 232, 73, 115, 23, 99, 71, 38, 255, 218, 205, 83, 51, 91, 245, 143, 71, 166, 73, 204, - 62, 216, 1, 105, 43, 245, 121, 85, 155, 97, 75, 66, 6, 171, 33, 157, 66, 101, 222, 150, - 144, 93, 166, 253, 47, 96, 25, 21, 97, 140, 66, 15, 74, 36, 78, 20, 236, 255, 135, 18, 132, - 3, 160, 66, - ], - [ - 163, 199, 231, 228, 161, 39, 63, 174, 7, 50, 113, 65, 95, 246, 111, 232, 131, 3, 94, 104, - 238, 219, 135, 189, 179, 61, 99, 223, 139, 70, 131, 255, 6, 170, 63, 86, 22, 81, 105, 29, - 212, 4, 70, 248, 96, 187, 129, 179, 188, 198, 73, 75, 199, 170, 38, 73, 95, 102, 62, 178, - 55, 239, 181, 179, - ], - [ - 95, 47, 211, 124, 143, 13, 172, 200, 21, 183, 184, 95, 104, 159, 168, 206, 46, 222, 20, - 189, 212, 4, 157, 86, 35, 10, 61, 243, 175, 152, 175, 2, 6, 170, 59, 105, 55, 7, 249, 12, - 80, 255, 26, 75, 177, 149, 243, 253, 191, 78, 37, 181, 238, 113, 145, 66, 70, 52, 7, 81, - 83, 44, 151, 179, - ], - [ - 128, 195, 87, 24, 233, 97, 135, 150, 132, 52, 42, 231, 11, 117, 158, 206, 146, 232, 107, - 107, 253, 154, 44, 106, 255, 252, 1, 131, 118, 240, 179, 38, 6, 170, 59, 119, 191, 159, 94, - 185, 174, 99, 239, 189, 24, 29, 111, 192, 141, 181, 91, 188, 136, 246, 172, 207, 112, 219, - 65, 8, 189, 47, 110, 41, - ], - [ - 233, 92, 199, 1, 28, 24, 132, 155, 174, 40, 13, 209, 216, 207, 224, 64, 202, 220, 239, 160, - 9, 12, 218, 237, 191, 169, 38, 14, 54, 131, 18, 182, 6, 170, 59, 133, 17, 56, 135, 40, 209, - 31, 62, 122, 48, 213, 245, 10, 14, 151, 244, 160, 57, 31, 138, 105, 123, 247, 169, 121, - 172, 0, 144, 131, - ], - [ - 234, 30, 0, 50, 119, 168, 123, 81, 156, 46, 50, 33, 253, 75, 209, 19, 182, 83, 7, 172, 73, - 156, 217, 158, 251, 220, 92, 189, 96, 193, 209, 135, 6, 170, 59, 168, 111, 204, 115, 120, - 231, 244, 118, 9, 120, 90, 193, 122, 233, 157, 221, 143, 224, 125, 178, 109, 103, 255, 178, - 10, 108, 179, 172, 32, - ], - [ - 100, 249, 190, 234, 121, 220, 52, 248, 88, 70, 16, 227, 161, 154, 4, 141, 178, 57, 212, - 162, 184, 11, 115, 196, 124, 132, 89, 192, 227, 223, 212, 241, 6, 170, 59, 173, 5, 80, 67, - 181, 58, 173, 98, 163, 36, 33, 132, 251, 217, 223, 124, 148, 249, 35, 5, 204, 121, 201, 93, - 201, 71, 201, 158, 71, - ], - [ - 37, 65, 14, 40, 199, 221, 100, 106, 103, 13, 34, 243, 180, 138, 213, 184, 172, 48, 206, 88, - 173, 252, 32, 114, 83, 159, 238, 88, 136, 56, 164, 82, 6, 170, 59, 214, 182, 192, 205, 181, - 43, 205, 40, 255, 196, 21, 89, 1, 114, 8, 133, 222, 65, 113, 202, 195, 238, 240, 200, 197, - 125, 126, 166, 211, - ], - [ - 167, 96, 61, 198, 206, 201, 165, 136, 130, 235, 129, 12, 59, 158, 60, 214, 146, 130, 190, - 199, 200, 150, 156, 61, 141, 72, 242, 207, 164, 131, 188, 163, 6, 170, 59, 233, 41, 130, - 27, 174, 209, 132, 49, 252, 13, 196, 190, 162, 13, 105, 173, 239, 167, 180, 199, 135, 232, - 177, 241, 4, 180, 170, 151, 211, - ], - [ - 251, 163, 49, 31, 56, 255, 92, 170, 17, 79, 30, 121, 48, 73, 83, 115, 53, 110, 26, 193, - 227, 13, 109, 76, 25, 224, 1, 7, 134, 243, 173, 185, 6, 170, 59, 238, 214, 82, 25, 146, 31, - 22, 229, 126, 21, 16, 74, 119, 196, 163, 227, 237, 179, 158, 128, 184, 10, 1, 229, 205, - 161, 148, 239, 100, - ], - [ - 13, 225, 193, 51, 2, 124, 240, 209, 62, 144, 221, 199, 105, 159, 142, 77, 85, 226, 164, 21, - 14, 45, 214, 214, 52, 84, 98, 103, 251, 77, 122, 32, 6, 170, 60, 20, 66, 209, 92, 35, 31, - 135, 65, 176, 197, 123, 204, 99, 222, 233, 47, 161, 32, 19, 19, 235, 174, 171, 149, 213, - 146, 125, 224, 116, - ], - [ - 124, 140, 112, 126, 150, 18, 119, 83, 64, 73, 52, 9, 202, 65, 148, 118, 83, 237, 233, 172, - 128, 82, 144, 71, 3, 205, 234, 229, 60, 191, 66, 11, 6, 170, 68, 81, 113, 21, 182, 223, 35, - 84, 217, 253, 5, 43, 246, 216, 194, 150, 28, 62, 163, 159, 171, 23, 31, 27, 154, 23, 11, - 175, 190, 141, - ], - [ - 206, 254, 141, 235, 7, 138, 152, 202, 43, 104, 206, 129, 102, 22, 45, 163, 9, 45, 61, 110, - 237, 2, 218, 122, 54, 23, 85, 140, 237, 61, 164, 100, 6, 170, 64, 100, 112, 224, 111, 234, - 225, 121, 73, 147, 160, 250, 150, 244, 89, 44, 247, 149, 9, 242, 170, 65, 66, 232, 221, - 222, 77, 98, 163, 247, - ], - [ - 100, 5, 137, 117, 108, 105, 248, 111, 118, 165, 218, 44, 57, 149, 131, 70, 131, 56, 184, - 114, 38, 156, 180, 234, 234, 175, 107, 77, 88, 20, 65, 51, 6, 170, 64, 111, 227, 216, 45, - 23, 160, 21, 28, 219, 2, 145, 155, 253, 55, 67, 227, 38, 175, 202, 95, 32, 78, 158, 175, - 239, 142, 42, 192, 203, - ], - [ - 99, 9, 198, 119, 92, 217, 226, 77, 251, 203, 236, 30, 173, 190, 234, 89, 209, 30, 109, 170, - 92, 91, 252, 237, 16, 166, 8, 139, 119, 151, 30, 213, 6, 170, 64, 128, 143, 130, 15, 156, - 186, 75, 103, 207, 250, 38, 181, 79, 185, 116, 227, 175, 250, 55, 120, 196, 218, 138, 66, - 8, 173, 89, 4, 54, - ], - [ - 206, 255, 193, 224, 202, 44, 6, 127, 248, 53, 213, 165, 143, 91, 207, 217, 20, 222, 138, - 208, 95, 190, 202, 250, 99, 196, 229, 15, 162, 115, 77, 187, 6, 170, 64, 159, 55, 153, 56, - 85, 20, 53, 133, 38, 164, 151, 153, 55, 104, 16, 172, 244, 30, 192, 22, 204, 201, 236, 241, - 220, 183, 194, 146, 8, - ], - [ - 168, 244, 16, 243, 128, 159, 33, 136, 193, 96, 132, 64, 66, 35, 78, 138, 23, 231, 176, 241, - 71, 195, 99, 195, 26, 104, 158, 1, 108, 147, 247, 168, 6, 170, 64, 170, 75, 90, 80, 10, 98, - 4, 243, 153, 39, 200, 235, 141, 25, 247, 139, 84, 254, 24, 66, 133, 68, 133, 154, 86, 109, - 241, 169, 104, - ], - [ - 26, 255, 251, 138, 15, 88, 176, 254, 253, 220, 200, 221, 157, 143, 234, 44, 76, 124, 212, - 80, 105, 190, 40, 118, 212, 66, 84, 66, 250, 245, 249, 220, 6, 170, 64, 196, 119, 164, 222, - 98, 78, 231, 159, 247, 105, 253, 149, 146, 150, 225, 23, 95, 13, 139, 45, 191, 169, 234, - 232, 56, 194, 127, 193, 222, - ], - [ - 175, 141, 90, 68, 202, 226, 233, 102, 212, 12, 145, 0, 70, 17, 218, 62, 49, 10, 55, 94, 17, - 2, 104, 57, 234, 211, 88, 80, 220, 243, 98, 29, 6, 170, 64, 220, 56, 150, 16, 222, 226, 88, - 121, 92, 183, 217, 191, 105, 193, 155, 47, 206, 60, 16, 242, 163, 220, 148, 189, 77, 162, - 63, 0, 91, - ], - [ - 43, 124, 232, 135, 53, 90, 148, 51, 247, 3, 40, 63, 84, 142, 241, 203, 8, 210, 238, 107, 1, - 123, 63, 169, 77, 145, 130, 27, 241, 186, 110, 115, 6, 170, 64, 244, 15, 83, 202, 108, 145, - 205, 30, 108, 239, 193, 212, 176, 148, 220, 150, 184, 89, 36, 247, 150, 138, 174, 77, 202, - 118, 247, 141, 253, - ], - [ - 203, 233, 104, 171, 170, 19, 121, 211, 127, 35, 72, 130, 164, 29, 11, 32, 52, 239, 132, - 214, 99, 160, 91, 145, 242, 117, 165, 151, 150, 10, 108, 209, 6, 170, 65, 14, 33, 105, 50, - 184, 26, 42, 59, 41, 191, 238, 139, 109, 247, 137, 158, 93, 129, 91, 124, 197, 77, 252, - 239, 46, 46, 252, 156, 66, - ], - [ - 246, 7, 119, 134, 231, 142, 56, 241, 59, 206, 146, 140, 175, 33, 100, 238, 139, 169, 43, - 68, 160, 45, 176, 251, 156, 109, 218, 3, 0, 95, 14, 227, 6, 170, 73, 81, 4, 34, 184, 117, - 86, 165, 94, 122, 173, 180, 83, 51, 140, 20, 133, 139, 125, 22, 203, 201, 21, 130, 216, 81, - 96, 19, 122, 152, - ], - [ - 69, 76, 93, 61, 54, 136, 252, 80, 112, 225, 96, 60, 32, 129, 91, 225, 229, 223, 203, 93, - 22, 80, 170, 213, 226, 30, 63, 161, 99, 76, 174, 188, 6, 170, 69, 80, 130, 109, 204, 96, - 186, 119, 125, 31, 2, 102, 194, 91, 238, 190, 151, 88, 176, 62, 65, 57, 228, 153, 165, 2, - 215, 214, 106, 52, - ], - [ - 66, 242, 28, 139, 47, 207, 154, 0, 228, 45, 243, 75, 252, 217, 69, 199, 173, 175, 159, 139, - 150, 84, 66, 154, 242, 3, 43, 53, 189, 225, 247, 128, 6, 170, 69, 117, 136, 39, 206, 85, - 173, 178, 102, 136, 121, 44, 20, 64, 213, 20, 103, 122, 200, 102, 139, 175, 254, 57, 70, - 244, 3, 236, 210, 129, - ], - [ - 42, 160, 148, 45, 171, 49, 21, 41, 89, 199, 176, 35, 104, 231, 234, 37, 16, 64, 62, 70, - 113, 100, 244, 220, 120, 173, 212, 99, 55, 145, 218, 108, 6, 170, 69, 134, 61, 62, 246, - 145, 225, 3, 127, 134, 217, 176, 132, 57, 26, 122, 75, 112, 105, 23, 162, 228, 51, 135, 13, - 147, 175, 84, 128, 232, - ], - [ - 251, 247, 65, 159, 211, 235, 130, 188, 7, 140, 12, 195, 175, 6, 123, 211, 167, 197, 128, - 249, 223, 138, 66, 114, 189, 152, 135, 183, 212, 47, 169, 59, 6, 170, 69, 162, 211, 26, - 108, 113, 200, 138, 195, 66, 25, 216, 109, 206, 95, 252, 111, 168, 236, 93, 130, 227, 180, - 123, 214, 8, 210, 70, 141, 153, - ], - [ - 22, 29, 54, 217, 207, 230, 168, 96, 41, 119, 156, 77, 188, 2, 172, 45, 100, 24, 36, 200, 1, - 162, 121, 178, 8, 166, 5, 51, 44, 78, 134, 197, 6, 170, 69, 167, 241, 244, 198, 31, 211, - 56, 103, 138, 53, 37, 34, 107, 136, 89, 49, 54, 68, 226, 200, 102, 106, 5, 156, 104, 200, - 194, 132, 242, - ], - [ - 11, 179, 41, 128, 139, 229, 240, 160, 198, 247, 216, 74, 174, 57, 202, 40, 125, 58, 247, - 233, 197, 146, 149, 190, 90, 153, 179, 136, 161, 210, 209, 92, 6, 170, 69, 190, 33, 191, - 157, 252, 156, 212, 156, 221, 209, 77, 251, 194, 172, 255, 230, 224, 95, 112, 81, 62, 8, - 165, 80, 165, 78, 248, 44, 139, - ], - [ - 121, 120, 177, 55, 85, 74, 104, 231, 151, 187, 103, 17, 94, 226, 99, 42, 169, 231, 60, 138, - 150, 110, 127, 160, 198, 124, 34, 150, 35, 173, 158, 54, 6, 170, 69, 225, 122, 244, 203, - 216, 32, 32, 181, 232, 20, 33, 99, 1, 53, 155, 51, 244, 218, 1, 173, 7, 41, 120, 125, 106, - 91, 137, 20, 18, - ], - [ - 211, 225, 107, 67, 74, 125, 132, 134, 10, 99, 38, 158, 216, 69, 62, 230, 23, 45, 154, 172, - 220, 83, 206, 0, 67, 54, 212, 192, 83, 8, 10, 85, 6, 170, 69, 240, 200, 220, 100, 62, 221, - 147, 156, 176, 146, 100, 0, 146, 161, 35, 226, 98, 31, 240, 60, 61, 107, 220, 50, 247, 11, - 198, 27, 3, - ], - [ - 53, 230, 242, 43, 110, 6, 243, 228, 120, 200, 86, 30, 1, 194, 23, 71, 113, 218, 104, 140, - 73, 55, 93, 172, 134, 207, 187, 49, 200, 59, 67, 131, 6, 170, 69, 255, 180, 4, 88, 99, 12, - 32, 70, 217, 211, 40, 35, 233, 250, 140, 38, 104, 28, 173, 172, 6, 225, 131, 236, 116, 193, - 134, 228, 39, - ], - [ - 164, 211, 172, 34, 127, 247, 161, 244, 91, 251, 61, 144, 176, 197, 122, 79, 219, 127, 191, - 55, 169, 135, 157, 163, 145, 16, 106, 22, 207, 79, 204, 92, 6, 170, 78, 68, 176, 140, 196, - 82, 122, 215, 147, 70, 197, 30, 235, 178, 224, 10, 12, 229, 87, 167, 104, 72, 46, 218, 121, - 27, 93, 21, 77, 217, - ], - [ - 240, 60, 204, 64, 163, 16, 79, 106, 248, 130, 72, 213, 238, 173, 189, 99, 27, 0, 240, 113, - 181, 65, 176, 137, 148, 226, 8, 133, 169, 68, 106, 116, 6, 170, 74, 80, 141, 38, 12, 189, - 151, 207, 123, 182, 4, 212, 185, 82, 4, 48, 57, 71, 194, 144, 211, 96, 130, 39, 229, 166, - 238, 20, 13, 142, - ], - [ - 237, 129, 47, 69, 46, 190, 187, 168, 38, 19, 16, 207, 114, 113, 83, 157, 113, 224, 123, 31, - 83, 95, 175, 24, 91, 98, 229, 179, 5, 40, 237, 25, 6, 170, 74, 111, 247, 236, 2, 247, 12, - 198, 116, 64, 171, 102, 48, 207, 50, 9, 151, 21, 111, 138, 57, 34, 170, 226, 92, 10, 25, - 181, 136, 111, - ], - [ - 58, 101, 226, 8, 27, 131, 214, 44, 104, 173, 61, 77, 11, 12, 166, 177, 90, 100, 185, 218, - 99, 136, 65, 71, 188, 112, 28, 241, 150, 202, 178, 5, 6, 170, 74, 137, 105, 33, 87, 41, 80, - 135, 238, 148, 94, 245, 78, 57, 57, 54, 31, 227, 194, 112, 178, 196, 194, 71, 235, 45, 146, - 84, 144, 12, - ], - [ - 69, 13, 104, 55, 176, 73, 163, 56, 50, 245, 60, 242, 9, 245, 50, 227, 14, 16, 13, 26, 204, - 166, 249, 86, 212, 84, 228, 93, 82, 198, 141, 19, 6, 170, 74, 150, 175, 22, 12, 5, 232, 49, - 174, 66, 46, 29, 248, 50, 221, 19, 233, 12, 42, 98, 41, 221, 199, 131, 214, 225, 116, 6, - 135, 170, - ], - [ - 157, 171, 183, 63, 188, 237, 249, 183, 87, 177, 238, 88, 163, 170, 91, 161, 233, 79, 61, - 143, 212, 61, 237, 109, 97, 73, 109, 157, 38, 123, 126, 248, 6, 170, 74, 183, 73, 164, 189, - 125, 209, 5, 23, 3, 130, 230, 151, 168, 126, 223, 41, 32, 21, 188, 22, 41, 93, 206, 129, - 75, 211, 82, 146, 124, - ], - [ - 212, 111, 46, 50, 187, 181, 54, 107, 33, 244, 207, 166, 216, 112, 56, 87, 244, 95, 199, - 110, 118, 228, 216, 83, 106, 174, 251, 138, 206, 92, 235, 103, 6, 170, 74, 206, 153, 37, - 61, 74, 163, 244, 18, 93, 235, 52, 184, 84, 182, 184, 243, 162, 11, 77, 192, 103, 44, 67, - 82, 56, 10, 21, 125, 80, - ], - [ - 245, 226, 208, 21, 172, 64, 18, 34, 147, 172, 216, 71, 166, 143, 203, 161, 80, 28, 210, - 117, 212, 192, 3, 234, 0, 136, 41, 222, 171, 140, 120, 26, 6, 170, 74, 214, 130, 87, 17, - 56, 184, 160, 11, 158, 250, 79, 9, 209, 249, 17, 169, 148, 149, 180, 241, 18, 178, 184, - 160, 125, 84, 25, 108, 150, - ], - [ - 75, 92, 94, 103, 162, 198, 103, 179, 244, 123, 193, 9, 6, 146, 98, 110, 100, 75, 198, 242, - 194, 87, 41, 78, 182, 229, 56, 252, 16, 143, 58, 61, 6, 170, 74, 230, 172, 166, 144, 103, - 64, 155, 85, 55, 237, 145, 9, 125, 52, 184, 240, 241, 65, 155, 76, 19, 21, 139, 111, 190, - 66, 86, 68, 79, - ], - [ - 117, 186, 196, 160, 119, 182, 186, 110, 169, 60, 114, 124, 221, 129, 45, 121, 240, 60, 145, - 224, 11, 47, 71, 221, 122, 82, 147, 187, 114, 97, 70, 87, 6, 170, 75, 17, 136, 19, 1, 210, - 81, 157, 69, 161, 3, 102, 70, 177, 157, 99, 219, 164, 100, 160, 152, 74, 74, 216, 74, 90, - 31, 7, 84, 2, - ], - [ - 5, 74, 129, 161, 100, 65, 188, 224, 109, 67, 0, 61, 193, 227, 2, 12, 211, 141, 54, 98, 26, - 39, 64, 0, 79, 105, 170, 92, 175, 102, 102, 50, 6, 170, 83, 82, 69, 182, 90, 25, 251, 172, - 72, 19, 90, 139, 225, 172, 34, 8, 174, 244, 59, 20, 186, 242, 2, 63, 2, 108, 158, 93, 162, - 204, - ], - [ - 226, 64, 3, 96, 132, 200, 49, 212, 0, 79, 114, 202, 89, 145, 194, 194, 21, 57, 41, 176, - 237, 28, 120, 154, 166, 247, 181, 64, 199, 242, 194, 25, 6, 170, 79, 87, 24, 143, 191, 171, - 218, 176, 202, 119, 219, 213, 212, 145, 54, 82, 120, 178, 180, 3, 77, 148, 223, 235, 146, - 31, 30, 28, 68, 217, - ], - [ - 214, 71, 207, 86, 131, 72, 236, 139, 78, 148, 112, 226, 60, 29, 180, 162, 162, 179, 2, 238, - 12, 226, 150, 34, 198, 201, 172, 63, 141, 142, 253, 228, 6, 170, 79, 98, 167, 207, 156, - 214, 246, 60, 94, 136, 23, 244, 19, 182, 243, 189, 4, 183, 45, 64, 32, 59, 113, 48, 201, - 149, 71, 165, 243, 33, - ], - [ - 44, 222, 169, 71, 130, 37, 189, 156, 155, 46, 247, 215, 154, 182, 137, 39, 125, 100, 120, - 85, 169, 103, 166, 164, 43, 177, 150, 240, 43, 216, 7, 171, 6, 170, 79, 138, 25, 204, 94, - 19, 35, 182, 205, 104, 116, 178, 152, 169, 203, 110, 150, 232, 9, 175, 251, 50, 229, 30, - 197, 92, 13, 15, 201, 107, - ], - [ - 69, 242, 50, 95, 228, 51, 20, 210, 150, 126, 21, 131, 115, 236, 17, 236, 112, 86, 161, 75, - 92, 228, 174, 202, 224, 73, 82, 104, 25, 19, 170, 64, 6, 170, 79, 151, 113, 94, 186, 71, - 38, 157, 93, 211, 116, 55, 128, 115, 22, 10, 216, 245, 222, 79, 237, 69, 92, 134, 178, 61, - 197, 229, 56, 46, - ], - [ - 77, 157, 171, 133, 51, 30, 135, 169, 132, 159, 127, 199, 127, 45, 58, 117, 51, 44, 82, 117, - 186, 110, 93, 6, 249, 99, 35, 143, 226, 89, 191, 23, 6, 170, 79, 169, 205, 231, 158, 91, 9, - 119, 167, 47, 20, 185, 110, 231, 181, 53, 79, 158, 202, 52, 53, 216, 96, 217, 175, 253, - 248, 108, 148, 110, - ], -]; diff --git a/crates/client/src/lib.rs b/crates/client/src/lib.rs index 31d0a797..7db5b293 100644 --- a/crates/client/src/lib.rs +++ b/crates/client/src/lib.rs @@ -63,71 +63,25 @@ pub mod fuzzing { pub use std::collections::HashMap; } -/// Aimed for the integration tests -pub mod test { - pub use super::client::*; - pub use super::error_reporter::report_error; - pub use super::keys::*; - pub use super::tester::Tester; - pub use anchor_lang::pubkey; - pub use anyhow::{self, Error, Result}; - pub use futures::{self, FutureExt}; - pub use rstest::*; - pub use serial_test; - pub use solana_transaction_status::EncodedConfirmedTransactionWithStatusMeta; - pub use tokio; - pub use trident_test::trident_test; -} - -/// Aimed for general usage -pub mod prelude { - pub use super::temp_clone::*; - pub use anchor_client::ClientError; - pub use anchor_lang; - pub use anchor_lang::InstructionData; - pub use anchor_lang::ToAccountMetas; - pub use solana_sdk; - pub use solana_sdk::instruction::Instruction; - pub use solana_sdk::pubkey::Pubkey; - pub use solana_sdk::signer::keypair::Keypair; - pub use solana_sdk::signer::Signer; -} - mod anchor_idl; mod cleaner; -mod client; mod commander; mod config; -mod error_reporter; -mod keys; -mod reader; mod source_code_generators; mod temp_clone; mod test_generator; -mod tester; pub mod ___private { pub use super::anchor_idl::*; pub use super::cleaner::*; - pub use super::client::*; pub use super::commander::Commander; pub use super::commander::Error; - pub use super::commander::LocalnetHandle; - pub use super::error_reporter::*; - pub use super::keys::*; - pub use super::reader::*; pub use super::source_code_generators::*; pub use super::temp_clone::TempClone; pub use super::test_generator::TestGenerator; - pub use super::tester::*; } mod constants { - // program_client - pub const PROGRAM_CLIENT_DIRECTORY: &str = ".program_client"; - pub const LIB: &str = "lib.rs"; - pub const SRC_DIRECTORY: &str = "src"; - // tomls pub const CARGO_TOML: &str = "Cargo.toml"; pub const TRIDENT_TOML: &str = "Trident.toml"; @@ -136,11 +90,6 @@ mod constants { // tests pub const TESTS_WORKSPACE_DIRECTORY: &str = "trident-tests"; - // poc - pub const POC_TEST_DIRECTORY: &str = "poc_tests"; - pub const TESTS_DIRECTORY: &str = "tests"; - pub const POC_TEST: &str = "test.rs"; - // fuzz pub const FUZZ_INSTRUCTIONS_FILE_NAME: &str = "fuzz_instructions.rs"; pub const FUZZ_TEST_DIRECTORY: &str = "fuzz_tests"; @@ -155,13 +104,8 @@ mod constants { // workspace pub const GIT_IGNORE: &str = ".gitignore"; - // client - pub const RETRY_LOCALNET_EVERY_MILLIS: u64 = 500; - pub const DEFAULT_KEYPAIR_PATH: &str = "~/.config/solana/id.json"; - // Formatting pub const SKIP: &str = "\x1b[33mSkip\x1b[0m"; - pub const WARNING: &str = "\x1b[1;93mWarning\x1b[0m"; pub const FINISH: &str = "\x1b[92mFinished\x1b[0m"; pub const ERROR: &str = "\x1b[31mError\x1b[0m"; } diff --git a/crates/client/src/reader.rs b/crates/client/src/reader.rs deleted file mode 100644 index 42f85124..00000000 --- a/crates/client/src/reader.rs +++ /dev/null @@ -1,85 +0,0 @@ -use anchor_client::solana_sdk::{ - pubkey::{ParsePubkeyError, Pubkey}, - signer::keypair::Keypair, -}; -use ed25519_dalek::SignatureError; -use fehler::throws; -use std::{borrow::Cow, io, str::FromStr}; -use thiserror::Error; -use tokio::fs; - -#[derive(Error, Debug)] -pub enum Error { - #[error("cannot read the file")] - Io(#[from] io::Error), - #[error("deserialization failed")] - SerdeJson(#[from] serde_json::Error), - #[error("pubkey parsing failed")] - Pubkey(#[from] ParsePubkeyError), - #[error("keypair parsing failed")] - Keypair(#[from] SignatureError), -} - -/// `Reader` allows you to read [Pubkey], [Keypair] and other entities from files. -pub struct Reader { - root: Cow<'static, str>, -} - -impl Reader { - /// Creates a new `Reader` instance with the default root `"../../"`. - pub fn new() -> Self { - Self { - root: "../../".into(), - } - } - - /// Creates a new `Reader` instance with the provided `root`. - pub fn with_root(root: impl Into>) -> Self { - Self { root: root.into() } - } - - /// Reads [Pubkey] from `[root]keys/[name]_pub.json`. - /// - /// # Errors - /// - /// It fails when: - /// - the requested file does not exist or it is not readable. - /// - [Pubkey] cannot be parsed from the file content. - #[throws] - pub async fn pubkey(&self, name: &str) -> Pubkey { - let path = format!("{}keys/{}_pub.json", self.root, name); - let key: String = serde_json::from_str(&fs::read_to_string(path).await?)?; - Pubkey::from_str(&key)? - } - - /// Reads [Keypair] from `[root]keys/[name].json`. - /// - /// # Errors - /// - /// It fails when: - /// - the requested file does not exist or it is not readable. - /// - [Keypair] cannot be parsed from the file content. - #[throws] - pub async fn keypair(&self, name: &str) -> Keypair { - let path = format!("{}keys/{}.json", self.root, name); - let bytes: Vec = serde_json::from_str(&fs::read_to_string(path).await?)?; - Keypair::from_bytes(&bytes)? - } - - /// Reads program data from `[root]target/deploy/[name].so`. - /// - /// # Errors - /// - /// It fails when the requested file does not exist or it is not readable. - #[throws] - pub async fn program_data(&self, name: &str) -> Vec { - fs::read(format!("{}target/deploy/{}.so", self.root, name)).await? - } -} - -impl Default for Reader { - /// Creates a new `Reader` instance with the default root `"../../"`. - fn default() -> Self { - Self::new() - } -} diff --git a/crates/client/src/source_code_generators/mod.rs b/crates/client/src/source_code_generators/mod.rs index 933510e5..d5314b19 100644 --- a/crates/client/src/source_code_generators/mod.rs +++ b/crates/client/src/source_code_generators/mod.rs @@ -1,3 +1,2 @@ pub mod fuzz_instructions_generator; -pub mod program_client_generator; pub mod test_fuzz_generator; diff --git a/crates/client/src/source_code_generators/program_client_generator.rs b/crates/client/src/source_code_generators/program_client_generator.rs deleted file mode 100644 index ae2278a4..00000000 --- a/crates/client/src/source_code_generators/program_client_generator.rs +++ /dev/null @@ -1,254 +0,0 @@ -use convert_case::{Case, Casing}; -use quote::{format_ident, ToTokens}; -use syn::{parse_quote, parse_str}; - -use anchor_lang_idl_spec::{Idl, IdlInstructionAccountItem, IdlType}; - -pub fn generate_source_code(idl_instructions: &[Idl], use_modules: &[syn::ItemUse]) -> String { - let mut output = "// DO NOT EDIT - automatically generated file (except `use` statements inside the `*_instruction` module\n".to_owned(); - let code = idl_instructions - .iter() - .map(|idl| { - let program_name = &idl.metadata.name.to_case(Case::Snake); - let program_id = &idl.address; - - let instruction_module_name = format_ident!("{}_instruction", program_name); - let module_name: syn::Ident = parse_str(program_name).unwrap(); - - let instructions = idl - .instructions - .iter() - .fold(Vec::new(), |mut instructions, instruction| { - let instruction_fn_name: syn::Ident = - parse_str(&instruction.name.to_case(Case::Snake)).unwrap(); - let instruction_struct_name: syn::Ident = - parse_str(&instruction.name.to_case(Case::UpperCamel)).unwrap(); - let account_struct_name: syn::Ident = - parse_str(&instruction.name.to_case(Case::UpperCamel)).unwrap(); - let instruction_name: syn::Ident = - parse_str(&(instruction.name.to_case(Case::Snake) + "_ix")).unwrap(); - - let parameters = instruction - .args - .iter() - .map(|arg| { - let name = format_ident!("i_{}", arg.name); - let arg_type = idl_type_to_syn_type(&arg.ty); - let parameter: syn::FnArg = parse_quote!(#name: #arg_type); - parameter - }) - .collect::>(); - - let accounts = instruction - .accounts - .iter() - .map(|account| { - let inner_account = match account { - IdlInstructionAccountItem::Composite(_composite) => { - panic!("Composite Accounts are not supported yet!") - } - IdlInstructionAccountItem::Single(single) => single, - }; - - let name = format_ident!("a_{}", inner_account.name); - let ty: syn::Type = parse_str("Pubkey").unwrap(); - let account: syn::FnArg = parse_quote!(#name: #ty); - account - }) - .collect::>(); - - let field_parameters = instruction - .args - .iter() - .map(|arg| { - let name: syn::Ident = parse_str(&arg.name).unwrap(); - let value = format_ident!("i_{name}"); - let parameter: syn::FieldValue = parse_quote!(#name: #value); - parameter - }) - .collect::>(); - - let field_accounts = instruction - .accounts - .iter() - .map(|account| { - let inner_account = match account { - IdlInstructionAccountItem::Composite(_composite) => { - panic!("Composite Accounts are not supported yet!") - } - IdlInstructionAccountItem::Single(single) => single, - }; - - let name: syn::Ident = parse_str(&inner_account.name).unwrap(); - let value = format_ident!("a_{name}"); - let account: syn::FieldValue = parse_quote!(#name: #value); - account - }) - .collect::>(); - - let instruction: syn::ItemFn = parse_quote! { - pub async fn #instruction_fn_name( - client: &Client, - #(#parameters,)* - #(#accounts,)* - signers: impl IntoIterator + Send + 'static, - ) -> Result { - client.send_instruction( - PROGRAM_ID, - #module_name::instruction::#instruction_struct_name { - #(#field_parameters,)* - }, - #module_name::accounts::#account_struct_name { - #(#field_accounts,)* - }, - signers, - ).await - } - }; - - let instruction_raw: syn::ItemFn = parse_quote! { - pub fn #instruction_name( - #(#parameters,)* - #(#accounts,)* - ) -> Instruction { - Instruction{ - program_id: PROGRAM_ID, - data: #module_name::instruction::#instruction_struct_name { - #(#field_parameters,)* - }.data(), - accounts: #module_name::accounts::#account_struct_name { - #(#field_accounts,)* - }.to_account_metas(None), - } - } - }; - - instructions.push(instruction); - instructions.push(instruction_raw); - instructions - }) - .into_iter(); - - let program_module: syn::ItemMod = parse_quote! { - pub mod #instruction_module_name { - #(#use_modules)* - pub const PROGRAM_ID: Pubkey = pubkey!(#program_id); - - // pub static PROGRAM_ID: Pubkey = Pubkey::new_from_array(#pubkey_bytes); - #(#instructions)* - } - }; - program_module.into_token_stream().to_string() - }) - .collect::(); - output.push_str(&code); - output -} - -/// Converts an `IdlType` to a corresponding Rust `syn::Type`. -fn idl_type_to_syn_type(idl_type: &IdlType) -> syn::Type { - match idl_type { - IdlType::Bool => parse_quote!(bool), - IdlType::U8 => parse_quote!(u8), - IdlType::I8 => parse_quote!(i8), - IdlType::U16 => parse_quote!(u16), - IdlType::I16 => parse_quote!(i16), - IdlType::U32 => parse_quote!(u32), - IdlType::I32 => parse_quote!(i32), - IdlType::F32 => parse_quote!(f32), - IdlType::U64 => parse_quote!(u64), - IdlType::I64 => parse_quote!(i64), - IdlType::F64 => parse_quote!(f64), - IdlType::U128 => parse_quote!(u128), - IdlType::I128 => parse_quote!(i128), - IdlType::U256 => parse_quote!(u256), // Assuming custom type for u256 - IdlType::I256 => parse_quote!(i256), // Assuming custom type for i256 - IdlType::Bytes => parse_quote!(Vec), - IdlType::String => parse_quote!(String), - IdlType::Pubkey => parse_quote!(Pubkey), // Replace with AccountId if needed - IdlType::Option(inner) => { - let inner_type = get_inner_type(inner, 0); - parse_quote!(Option<#inner_type>) - } - IdlType::Vec(inner) => { - let inner_type = get_inner_type(inner, 0); - parse_quote!(Vec<#inner_type>) - } - IdlType::Array(inner, len) => { - let inner_type = get_inner_type(inner, 0); - - let len = match len { - anchor_lang_idl_spec::IdlArrayLen::Generic(_generic) => { - panic!("Generic within Array len not supported") - } - anchor_lang_idl_spec::IdlArrayLen::Value(len) => len, - }; - parse_quote!([#inner_type;#len]) - } - // TODO try to automatically generate the struct so we can simply - // derive arbitrary - IdlType::Defined { name, generics: _ } => { - let name_ident: syn::Ident = format_ident!("{}", &name); - parse_quote!(#name_ident) - } - IdlType::Generic(_name) => { - panic!("Generic currently not supported") - } - _ => todo!(), - } -} - -fn get_inner_type(idl_type: &IdlType, nestings: u8) -> syn::Type { - if nestings >= 5 { - panic!("No more than 5 nestings allowed"); - } - match idl_type { - IdlType::Bool => parse_quote!(bool), - IdlType::U8 => parse_quote!(u8), - IdlType::I8 => parse_quote!(i8), - IdlType::U16 => parse_quote!(u16), - IdlType::I16 => parse_quote!(i16), - IdlType::U32 => parse_quote!(u32), - IdlType::I32 => parse_quote!(i32), - IdlType::F32 => parse_quote!(f32), - IdlType::U64 => parse_quote!(u64), - IdlType::I64 => parse_quote!(i64), - IdlType::F64 => parse_quote!(f64), - IdlType::U128 => parse_quote!(u128), - IdlType::I128 => parse_quote!(i128), - IdlType::U256 => parse_quote!(u256), - IdlType::I256 => parse_quote!(i256), - IdlType::Bytes => parse_quote!(Vec), - IdlType::String => parse_quote!(String), - IdlType::Pubkey => parse_quote!(Pubkey), - IdlType::Option(inner) => { - let inner_type = get_inner_type(inner, nestings + 1); - parse_quote!(Option<#inner_type>) - } - IdlType::Vec(inner) => { - let inner_type = get_inner_type(inner, nestings + 1); - parse_quote!(Vec<#inner_type>) - } - IdlType::Array(inner, len) => { - let inner_type = get_inner_type(inner, nestings + 1); - - let len = match len { - anchor_lang_idl_spec::IdlArrayLen::Generic(_generic) => { - panic!("Generic within Array len not supported") - } - anchor_lang_idl_spec::IdlArrayLen::Value(len) => len, - }; - parse_quote!([#inner_type;#len]) - } - IdlType::Defined { - name: _, - generics: _, - } => { - panic!("Defined not supported") - } - IdlType::Generic(_name) => { - panic!("Generic not supported") - } - _ => todo!(), - } -} diff --git a/crates/client/src/templates/Trident.toml.tmpl b/crates/client/src/templates/Trident.toml.tmpl index a398402c..b976b822 100644 --- a/crates/client/src/templates/Trident.toml.tmpl +++ b/crates/client/src/templates/Trident.toml.tmpl @@ -1,7 +1,3 @@ -[test] -validator_startup_timeout = 15000 - - [honggfuzz] # Timeout in seconds (default: 10) timeout = 10 diff --git a/crates/client/src/templates/program_client/Cargo.toml.tmpl b/crates/client/src/templates/program_client/Cargo.toml.tmpl deleted file mode 100644 index ad7622ea..00000000 --- a/crates/client/src/templates/program_client/Cargo.toml.tmpl +++ /dev/null @@ -1,7 +0,0 @@ -[package] -name = "program_client" -version = "0.1.0" -edition = "2018" - -[dependencies.trident-client] -version = "0.7.0" diff --git a/crates/client/src/templates/program_client/lib.rs b/crates/client/src/templates/program_client/lib.rs deleted file mode 100644 index 95a23f03..00000000 --- a/crates/client/src/templates/program_client/lib.rs +++ /dev/null @@ -1,2 +0,0 @@ -// DO NOT EDIT - automatically generated file (except `use` statements inside the `*_instruction` module -// [content not yet generated] diff --git a/crates/client/src/templates/trident-tests/Cargo_poc.toml.tmpl b/crates/client/src/templates/trident-tests/Cargo_poc.toml.tmpl deleted file mode 100644 index 8fa1bca4..00000000 --- a/crates/client/src/templates/trident-tests/Cargo_poc.toml.tmpl +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "poc_tests" -version = "0.1.0" -description = "Created with Trident" -edition = "2021" - -# Dependencies specific to PoC test -# Dev-dependencies are used for compiling tests, -[dev-dependencies] -fehler = "1.0.0" - -[dev-dependencies.trident-client] -version = "0.7.0" - - -[dev-dependencies.program_client] -path = "../../.program_client" diff --git a/crates/client/src/templates/trident-tests/test.rs b/crates/client/src/templates/trident-tests/test.rs deleted file mode 100644 index e02b9a56..00000000 --- a/crates/client/src/templates/trident-tests/test.rs +++ /dev/null @@ -1,47 +0,0 @@ -use fehler::throws; -use trident_client::prelude::*; -use trident_client::test::*; - -// @todo: create and deploy your fixture -#[throws] -#[fixture] -async fn init_fixture() -> Fixture { - let mut fixture = Fixture::new(); - // @todo: here you can call your ::initialize instruction - fixture.deploy().await?; - fixture -} - -#[trident_test] -async fn test_happy_path(#[future] init_fixture: Result) { - // @todo: add your happy path test scenario and the other test cases - let default_fixture = Fixture::new(); - let fixture = init_fixture.await?; - assert_eq!(fixture.program, default_fixture.program); -} - -// @todo: design and implement all the logic you need for your fixture(s) -struct Fixture { - client: Client, - program: Keypair, - state: Keypair, -} -impl Fixture { - fn new() -> Self { - Fixture { - client: Client::default(), - program: anchor_keypair("###PROGRAM_NAME###").unwrap(), - state: keypair(42), - } - } - - #[throws] - async fn deploy(&mut self) { - self.client - .airdrop(self.client.payer().pubkey(), 5_000_000_000) - .await?; - self.client - .deploy_by_name(&self.program.clone(), "###PROGRAM_NAME###") - .await?; - } -} diff --git a/crates/client/src/test_generator.rs b/crates/client/src/test_generator.rs index 7ab5f9d1..d1cb945c 100644 --- a/crates/client/src/test_generator.rs +++ b/crates/client/src/test_generator.rs @@ -2,10 +2,8 @@ use crate::___private::test_fuzz_generator; use crate::commander::{Commander, Error as CommanderError}; use crate::source_code_generators::fuzz_instructions_generator; -use crate::source_code_generators::program_client_generator; use cargo_metadata::Package; -use convert_case::{Case, Casing}; use fehler::{throw, throws}; use std::{fs::File, io::prelude::*}; use std::{ @@ -13,7 +11,6 @@ use std::{ io, path::{Path, PathBuf}, }; -use syn::ItemUse; use thiserror::Error; use tokio::fs; use toml::{value::Table, Value}; @@ -62,7 +59,6 @@ macro_rules! load_template { pub struct TestGenerator { pub root: PathBuf, pub program_packages: Vec, - pub use_tokens: Vec, pub anchor_idls: Vec, } impl Default for TestGenerator { @@ -76,7 +72,6 @@ impl TestGenerator { Self { root: Path::new("../../").to_path_buf(), program_packages: Vec::default(), - use_tokens: Vec::default(), anchor_idls: Vec::default(), } } @@ -84,27 +79,9 @@ impl TestGenerator { Self { root: Path::new(&root).to_path_buf(), program_packages: Vec::default(), - use_tokens: Vec::default(), anchor_idls: Vec::default(), } } - #[throws] - pub async fn generate_both(&mut self) { - let root_path = self.root.to_str().unwrap().to_string(); - let commander = Commander::with_root(root_path); - - commander.build_anchor_project().await?; - - self.get_program_packages().await?; - self.load_idls()?; - self.get_program_client_imports().await?; - self.init_program_client().await?; - self.init_poc_tests().await?; - self.init_fuzz_tests().await?; - self.create_trident_manifest().await?; - self.update_gitignore(CARGO_TARGET_DIR_DEFAULT)?; - } - #[throws] pub async fn generate_fuzz(&mut self) { let root_path = self.root.to_str().unwrap().to_string(); @@ -118,21 +95,6 @@ impl TestGenerator { self.create_trident_manifest().await?; self.update_gitignore(CARGO_TARGET_DIR_DEFAULT)?; } - #[throws] - pub async fn generate_poc(&mut self) { - let root_path = self.root.to_str().unwrap().to_string(); - let commander = Commander::with_root(root_path); - - commander.build_anchor_project().await?; - - self.get_program_packages().await?; - self.load_idls()?; - self.get_program_client_imports().await?; - self.init_program_client().await?; - self.init_poc_tests().await?; - self.create_trident_manifest().await?; - } - #[throws] pub async fn add_fuzz_test(&mut self) { let root_path = self.root.to_str().unwrap().to_string(); @@ -146,17 +108,6 @@ impl TestGenerator { self.create_trident_manifest().await?; self.update_gitignore(CARGO_TARGET_DIR_DEFAULT)?; } - #[throws] - pub async fn build(&mut self) { - let root_path = self.root.to_str().unwrap().to_string(); - let commander = Commander::with_root(root_path); - - commander.build_anchor_project().await?; - self.get_program_packages().await?; - self.load_idls()?; - self.get_program_client_imports().await?; - self.add_program_client().await?; - } #[throws] fn load_idls(&mut self) { @@ -171,39 +122,6 @@ impl TestGenerator { async fn get_program_packages(&mut self) { self.program_packages = Commander::collect_program_packages().await?; } - #[throws] - async fn get_program_client_imports(&mut self) { - let lib_path = construct_path!(self.root, PROGRAM_CLIENT_DIRECTORY, SRC_DIRECTORY, LIB); - if lib_path.exists() { - let code = fs::read_to_string(lib_path).await.unwrap_or_else(|_e| { - println!( - "{WARNING} Unable to read [.program_client], use statements set to default" - ); - String::default() - }); - Commander::get_use_statements(&code, &mut self.use_tokens)?; - } - if self.use_tokens.is_empty() { - self.use_tokens - .push(syn::parse_quote! {use trident_client::prelude::*;}); - self.use_tokens - .push(syn::parse_quote! {use trident_client::test::*;}); - } - } - - #[throws] - async fn init_program_client(&mut self) { - let cargo_path = construct_path!(self.root, PROGRAM_CLIENT_DIRECTORY, CARGO_TOML); - let src_path = construct_path!(self.root, PROGRAM_CLIENT_DIRECTORY, SRC_DIRECTORY); - let crate_path = construct_path!(self.root, PROGRAM_CLIENT_DIRECTORY); - let lib_path = construct_path!(self.root, PROGRAM_CLIENT_DIRECTORY, SRC_DIRECTORY, LIB); - - if cargo_path.exists() && src_path.exists() && crate_path.exists() && lib_path.exists() { - println!("{SKIP} looks like [.program_client] is already initialized"); - } else { - self.add_program_client().await?; - } - } #[throws] async fn init_fuzz_tests(&mut self) { @@ -237,63 +155,6 @@ impl TestGenerator { } } - #[throws] - async fn init_poc_tests(&mut self) { - // create reuqired paths - - let poc_dir_path = - construct_path!(self.root, TESTS_WORKSPACE_DIRECTORY, POC_TEST_DIRECTORY); - let new_poc_test_dir = construct_path!(poc_dir_path, TESTS_DIRECTORY); - let cargo_path = construct_path!(poc_dir_path, CARGO_TOML); - let poc_test_path = construct_path!(new_poc_test_dir, POC_TEST); - - // if folder structure exists we skip - if poc_dir_path.exists() - && new_poc_test_dir.exists() - && cargo_path.exists() - && poc_test_path.exists() - { - println!("{SKIP} looks like [PoC] Tests are already initialized"); - } else { - self.add_new_poc_test().await?; - } - } - - #[throws] - async fn add_new_poc_test(&self) { - let program_name = if !&self.anchor_idls.is_empty() { - let name = &self.anchor_idls.first().unwrap().metadata.name; - name.to_case(Case::Snake) - } else { - throw!(Error::NoProgramsFound) - }; - let poc_dir_path = - construct_path!(self.root, TESTS_WORKSPACE_DIRECTORY, POC_TEST_DIRECTORY); - let new_poc_test_dir = construct_path!(poc_dir_path, TESTS_DIRECTORY); - let cargo_path = construct_path!(poc_dir_path, CARGO_TOML); - let poc_test_path = construct_path!(new_poc_test_dir, POC_TEST); - - self.create_directory_all(&new_poc_test_dir).await?; - let cargo_toml_content = load_template!("/src/templates/trident-tests/Cargo_poc.toml.tmpl"); - self.create_file(&cargo_path, cargo_toml_content).await?; - - let poc_test_content = load_template!("/src/templates/trident-tests/test.rs"); - let test_content = poc_test_content.replace("###PROGRAM_NAME###", &program_name); - let use_instructions = format!("use program_client::{}_instruction::*;\n", program_name); - let template = format!("{use_instructions}{test_content}"); - - self.create_file(&poc_test_path, &template).await?; - - // add poc test to the workspace virtual manifest - self.add_workspace_member(&format!("{TESTS_WORKSPACE_DIRECTORY}/{POC_TEST_DIRECTORY}",)) - .await?; - - // add program dev-dependencies into the poc tests Cargo - // dev-deps are ok as they are used with the cargo test - self.add_program_dependencies(&poc_dir_path, "dev-dependencies", None) - .await?; - } - #[throws] pub async fn add_new_fuzz_test(&self) { let fuzz_dir_path = @@ -386,35 +247,6 @@ impl TestGenerator { .await?; } - #[throws] - async fn add_program_client(&self) { - let cargo_path = construct_path!(self.root, PROGRAM_CLIENT_DIRECTORY, CARGO_TOML); - let src_path = construct_path!(self.root, PROGRAM_CLIENT_DIRECTORY, SRC_DIRECTORY); - let crate_path = construct_path!(self.root, PROGRAM_CLIENT_DIRECTORY); - let lib_path = construct_path!(self.root, PROGRAM_CLIENT_DIRECTORY, SRC_DIRECTORY, LIB); - - self.create_directory_all(&src_path).await?; - - // load template - let cargo_toml_content = load_template!("/src/templates/program_client/Cargo.toml.tmpl"); - - // if path exists the file will not be overwritten - self.create_file(&cargo_path, cargo_toml_content).await?; - - self.add_program_dependencies(&crate_path, "dependencies", Some(vec!["no-entrypoint"])) - .await?; - - let program_client = - program_client_generator::generate_source_code(&self.anchor_idls, &self.use_tokens); - let program_client = Commander::format_program_code(&program_client).await?; - - if lib_path.exists() { - self.update_file(&lib_path, &program_client).await?; - } else { - self.create_file(&lib_path, &program_client).await?; - } - } - #[throws] async fn create_trident_manifest(&self) { let trident_toml_path = construct_path!(self.root, TRIDENT_TOML); @@ -484,21 +316,6 @@ impl TestGenerator { } }; } - #[throws] - async fn update_file(&self, path: &PathBuf, content: &str) { - let file = path.strip_prefix(&self.root).unwrap().to_str().unwrap(); - match path.exists() { - true => { - fs::write(path, content).await?; - println!("{FINISH} [{file}] updated"); - } - false => { - fs::write(path, content).await?; - println!("{FINISH} [{file}] created"); - } - }; - } - #[throws] fn update_gitignore(&self, ignored_path: &str) { let gitignore_path = construct_path!(self.root, GIT_IGNORE); diff --git a/crates/client/src/tester.rs b/crates/client/src/tester.rs deleted file mode 100644 index d28121e8..00000000 --- a/crates/client/src/tester.rs +++ /dev/null @@ -1,39 +0,0 @@ -use crate::___private::{Commander, Error, LocalnetHandle}; -use fehler::throws; -use log::debug; -use std::{borrow::Cow, mem}; - -/// `Tester` is used primarily by [`#[trident_test]`](trident_test::trident_test) macro. -/// -/// There should be no need to use `Tester` directly. -#[derive(Default)] -pub struct Tester { - root: Cow<'static, str>, -} - -impl Tester { - pub fn new() -> Self { - Self { - root: "../../".into(), - } - } - - pub fn with_root(root: impl Into>) -> Self { - Self { root: root.into() } - } - - #[throws] - pub async fn before(&mut self) -> LocalnetHandle { - debug!("_____________________"); - debug!("____ BEFORE TEST ____"); - let commander = Commander::with_root(mem::take(&mut self.root)); - commander.start_localnet().await? - } - - #[throws] - pub async fn after(&self, localnet_handle: LocalnetHandle) { - debug!("____ AFTER TEST ____"); - localnet_handle.stop_and_remove_ledger().await?; - debug!("_____________________"); - } -} diff --git a/crates/client/tests/expected_source_codes/expected_program_client_code.rs b/crates/client/tests/expected_source_codes/expected_program_client_code.rs deleted file mode 100644 index 8ae99d65..00000000 --- a/crates/client/tests/expected_source_codes/expected_program_client_code.rs +++ /dev/null @@ -1,169 +0,0 @@ -// DO NOT EDIT - automatically generated file (except `use` statements inside the `*_instruction` module -pub mod dummy_example_instruction { - use trident_client::prelude::*; - use trident_client::test::*; - pub const PROGRAM_ID: Pubkey = pubkey!("ETC9SS2iTY8xFF6etnvsFaxDz9WhLryXR2Z6k81Z43U4"); - pub async fn initialize_ix( - client: &Client, - i__var1: bool, - i__var2: u8, - i__var3: i8, - i__var4: u16, - i__var5: i16, - i__var6: u32, - i__var7: i32, - i__var8: u64, - i__var9: i32, - i__var10: f64, - i__var11: u128, - i__var12: i128, - i__ver13: Vec, - i__var14: String, - i__var15: Pubkey, - i__var16: Option, - i__var17: Vec, - i__var18: [i128; 5usize], - i__var19: InputParameter, - i__var20: Vec>>>>, - i__var21: Vec>>>>, - i__var22: Vec>>>>>, - a_account: Pubkey, - a_account_info: Pubkey, - a_account_loader: Pubkey, - a_boxed: Pubkey, - a_interace: Pubkey, - a_interface_account: Pubkey, - a_option: Pubkey, - a_program: Pubkey, - a_signer: Pubkey, - a_system_account: Pubkey, - a_sysvar: Pubkey, - a_unchecked_account: Pubkey, - signers: impl IntoIterator + Send + 'static, - ) -> Result { - client - .send_instruction( - PROGRAM_ID, - dummy_example::instruction::InitializeIx { - _var1: i__var1, - _var2: i__var2, - _var3: i__var3, - _var4: i__var4, - _var5: i__var5, - _var6: i__var6, - _var7: i__var7, - _var8: i__var8, - _var9: i__var9, - _var10: i__var10, - _var11: i__var11, - _var12: i__var12, - _ver13: i__ver13, - _var14: i__var14, - _var15: i__var15, - _var16: i__var16, - _var17: i__var17, - _var18: i__var18, - _var19: i__var19, - _var20: i__var20, - _var21: i__var21, - _var22: i__var22, - }, - dummy_example::accounts::InitializeIx { - account: a_account, - account_info: a_account_info, - account_loader: a_account_loader, - boxed: a_boxed, - interace: a_interace, - interface_account: a_interface_account, - option: a_option, - program: a_program, - signer: a_signer, - system_account: a_system_account, - sysvar: a_sysvar, - unchecked_account: a_unchecked_account, - }, - signers, - ) - .await - } - pub fn initialize_ix_ix( - i__var1: bool, - i__var2: u8, - i__var3: i8, - i__var4: u16, - i__var5: i16, - i__var6: u32, - i__var7: i32, - i__var8: u64, - i__var9: i32, - i__var10: f64, - i__var11: u128, - i__var12: i128, - i__ver13: Vec, - i__var14: String, - i__var15: Pubkey, - i__var16: Option, - i__var17: Vec, - i__var18: [i128; 5usize], - i__var19: InputParameter, - i__var20: Vec>>>>, - i__var21: Vec>>>>, - i__var22: Vec>>>>>, - a_account: Pubkey, - a_account_info: Pubkey, - a_account_loader: Pubkey, - a_boxed: Pubkey, - a_interace: Pubkey, - a_interface_account: Pubkey, - a_option: Pubkey, - a_program: Pubkey, - a_signer: Pubkey, - a_system_account: Pubkey, - a_sysvar: Pubkey, - a_unchecked_account: Pubkey, - ) -> Instruction { - Instruction { - program_id: PROGRAM_ID, - data: dummy_example::instruction::InitializeIx { - _var1: i__var1, - _var2: i__var2, - _var3: i__var3, - _var4: i__var4, - _var5: i__var5, - _var6: i__var6, - _var7: i__var7, - _var8: i__var8, - _var9: i__var9, - _var10: i__var10, - _var11: i__var11, - _var12: i__var12, - _ver13: i__ver13, - _var14: i__var14, - _var15: i__var15, - _var16: i__var16, - _var17: i__var17, - _var18: i__var18, - _var19: i__var19, - _var20: i__var20, - _var21: i__var21, - _var22: i__var22, - } - .data(), - accounts: dummy_example::accounts::InitializeIx { - account: a_account, - account_info: a_account_info, - account_loader: a_account_loader, - boxed: a_boxed, - interace: a_interace, - interface_account: a_interface_account, - option: a_option, - program: a_program, - signer: a_signer, - system_account: a_system_account, - sysvar: a_sysvar, - unchecked_account: a_unchecked_account, - } - .to_account_metas(None), - } - } -} diff --git a/crates/client/tests/test_program_client.rs b/crates/client/tests/test_program_client.rs deleted file mode 100644 index 214245a8..00000000 --- a/crates/client/tests/test_program_client.rs +++ /dev/null @@ -1,60 +0,0 @@ -use std::{ - io::Read, - path::{Path, PathBuf}, -}; - -use anchor_lang_idl_spec::Idl; -use anyhow::Error; -use fehler::throws; -use pretty_assertions::assert_str_eq; - -#[throws] -#[tokio::test] -pub async fn generate_program_client() { - let expected_client_code = include_str!(concat!( - env!("CARGO_MANIFEST_DIR"), - "/tests/expected_source_codes/expected_program_client_code.rs" - )); - - let idl = read_idl()?; - - let mut use_tokens: Vec = vec![]; - - use_tokens.push(syn::parse_quote! {use trident_client::prelude::*;}); - use_tokens.push(syn::parse_quote! {use trident_client::test::*;}); - - let client_code = trident_client::___private::program_client_generator::generate_source_code( - &vec![idl], - &use_tokens, - ); - let client_code = - trident_client::___private::Commander::format_program_code(&client_code).await?; - - assert_str_eq!(client_code, expected_client_code); -} - -#[throws] -fn read_idl() -> Idl { - let current_dir = std::env::current_dir()?; - - let anchor_idl_path: PathBuf = [ - current_dir.as_ref(), - Path::new("tests/anchor_idl/example.json"), - ] - .iter() - .collect(); - - let mut idl_file = std::fs::File::open(&anchor_idl_path)?; - - let mut json_content = String::new(); - idl_file.read_to_string(&mut json_content)?; - - // Parse the string of data into an Idl struct - match serde_json::from_str::(&json_content) { - Ok(parsed_idl) => parsed_idl, - Err(e) => { - panic!("Failed to parse {}: {}", anchor_idl_path.display(), e); - // Continue to the next file on failure - } - } -} diff --git a/crates/test/Cargo.toml b/crates/test/Cargo.toml deleted file mode 100644 index 65557e13..00000000 --- a/crates/test/Cargo.toml +++ /dev/null @@ -1,20 +0,0 @@ -[package] -name = "trident-test" -version = "0.3.3" -edition = "2021" -repository = "https://github.com/Ackee-Blockchain/trident" -license-file = "../../LICENSE" -readme = "../../README.md" -description = "The trident_test crate helps you to write Rust tests for your programs with Trident." - -[lib] -proc-macro = true - -[dev-dependencies] -macrotest = "1" - -[dependencies] -# MISC -syn = { version = "1.0.109", default-features = false } -quote = "1.0.14" -darling = "0.13.1" diff --git a/crates/test/src/lib.rs b/crates/test/src/lib.rs deleted file mode 100644 index 1d8587fc..00000000 --- a/crates/test/src/lib.rs +++ /dev/null @@ -1,90 +0,0 @@ -//! The `trident_test` crate helps you to write Rust tests for your _programs_ with Trident. -//! See the macro [trident_test] for more info. -//! -//! _Dev Note_: You need `cargo expand` and nightly Rust to run tests. See [macrotest docs](https://docs.rs/macrotest/latest/macrotest/#workflow). - -use darling::FromMeta; -use proc_macro::TokenStream; -use syn::{parse_macro_input, spanned::Spanned, AttributeArgs, ItemFn}; - -#[derive(Debug, FromMeta)] -struct MacroArgs { - #[darling(default)] - root: Option, -} - -/// The macro starts the Solana validator (localnet), runs your program test and then shuts down the validator. -/// - The test implicitly returns [anyhow::Result<()>](https://docs.rs/anyhow/latest/anyhow/type.Result.html). -/// - All tests are run sequentially - each test uses a new/reset validator. (See [serial_test::serial](https://docs.rs/serial_test/latest/serial_test/attr.serial.html)) -/// - Async support is provided by Tokio: [tokio::test(flavor = "multi_thread")](https://docs.rs/tokio/latest/tokio/attr.test.html). -/// - The macro accepts one optional argument `root` with the default value `"../../"`. -/// - Example: `#[trident_test(root = "../../")]` -/// - You can see the macro expanded in the crate's tests. -/// -/// # Example -/// -/// ```rust,ignore -/// // tests/test.rs -/// use trident_client::*; -/// -/// #[trident_test] -/// async fn test_turnstile() { -/// let reader = Reader::new(); -/// let mut turnstile = Turnstile { -/// client: Client::new(reader.keypair("id").await?), -/// state: reader.keypair("state").await?, -/// program: reader.keypair("program").await?, -/// program_data: reader.program_data("turnstile").await?, -/// locked: bool::default(), -/// }; -/// turnstile.initialize().await?; -/// } -/// ``` -#[proc_macro_attribute] -pub fn trident_test(args: TokenStream, input: TokenStream) -> TokenStream { - let attr_args = parse_macro_input!(args as AttributeArgs); - let macro_args = match MacroArgs::from_list(&attr_args) { - Ok(macro_args) => macro_args, - Err(error) => { - return TokenStream::from(error.write_errors()); - } - }; - let root = macro_args.root.unwrap_or_else(|| "../../".to_owned()); - - let input_fn: ItemFn = - syn::parse(input).expect("'trident_test' attribute is applicable only to async fn"); - - let input_fn_span = input_fn.span(); - let input_fn_body = input_fn.block; - let input_fn_name = input_fn.sig.ident; - let input_fn_attrs = input_fn.attrs; - let input_fn_inputs = input_fn.sig.inputs; - - quote::quote_spanned!(input_fn_span=> - #(#input_fn_attrs)* - // Note: The line `#(#input_fn_attrs)*` has to be above the line with the code - // `#[trident_client::tokio::test...` to make macros like `#[rstest]` work - - // see https://github.com/la10736/rstest#inject-test-attribute - #[trident_client::test::rstest] - #[trident_client::test::tokio::test(flavor = "multi_thread")] - #[trident_client::test::serial_test::serial] - async fn #input_fn_name(#input_fn_inputs) -> trident_client::test::anyhow::Result<()> { - let mut tester = trident_client::test::Tester::with_root(#root); - let localnet_handle = tester.before().await?; - let test = async { - #input_fn_body - Ok::<(), trident_client::test::anyhow::Error>(()) - }; - let result = std::panic::AssertUnwindSafe(test).catch_unwind().await; - tester.after(localnet_handle).await?; - assert!(result.is_ok()); - let final_result = result.unwrap(); - if let Err(error) = final_result { - trident_client::test::report_error(&error); - return Err(error); - } - Ok(()) - } - ) - .into() -} diff --git a/crates/test/tests/expand/basic.expanded.rs b/crates/test/tests/expand/basic.expanded.rs deleted file mode 100644 index 1468e639..00000000 --- a/crates/test/tests/expand/basic.expanded.rs +++ /dev/null @@ -1,30 +0,0 @@ -#[trident_client::test::rstest] -#[trident_client::test::tokio::test(flavor = "multi_thread")] -#[trident_client::test::serial_test::serial] -async fn test_turnstile() -> trident_client::test::anyhow::Result<()> { - let mut tester = trident_client::test::Tester::with_root("../../"); - let localnet_handle = tester.before().await?; - let test = async { - { - init_client().await?; - let mut turnstile = Turnstile { - locked: get_state_client().await?.locked, - }; - turnstile.coin().await?; - turnstile.push_unlocked().await?; - turnstile.push_locked().await?; - } - Ok::<(), trident_client::test::anyhow::Error>(()) - }; - let result = std::panic::AssertUnwindSafe(test).catch_unwind().await; - tester.after(localnet_handle).await?; - if !result.is_ok() { - ::core::panicking::panic("assertion failed: result.is_ok()") - } - let final_result = result.unwrap(); - if let Err(error) = final_result { - trident_client::test::report_error(&error); - return Err(error); - } - Ok(()) -} diff --git a/crates/test/tests/expand/basic.rs b/crates/test/tests/expand/basic.rs deleted file mode 100644 index f1e27f4d..00000000 --- a/crates/test/tests/expand/basic.rs +++ /dev/null @@ -1,10 +0,0 @@ -#[trident_test::trident_test] -async fn test_turnstile() { - init_client().await?; - let mut turnstile = Turnstile { - locked: get_state_client().await?.locked - }; - turnstile.coin().await?; - turnstile.push_unlocked().await?; - turnstile.push_locked().await?; -} diff --git a/crates/test/tests/expand/with_root.expanded.rs b/crates/test/tests/expand/with_root.expanded.rs deleted file mode 100644 index b3d1dde2..00000000 --- a/crates/test/tests/expand/with_root.expanded.rs +++ /dev/null @@ -1,22 +0,0 @@ -#[trident_client::test::rstest] -#[trident_client::test::tokio::test(flavor = "multi_thread")] -#[trident_client::test::serial_test::serial] -async fn test_with_defined_root() -> trident_client::test::anyhow::Result<()> { - let mut tester = trident_client::test::Tester::with_root("i_am_root"); - let localnet_handle = tester.before().await?; - let test = async { - {} - Ok::<(), trident_client::test::anyhow::Error>(()) - }; - let result = std::panic::AssertUnwindSafe(test).catch_unwind().await; - tester.after(localnet_handle).await?; - if !result.is_ok() { - ::core::panicking::panic("assertion failed: result.is_ok()") - } - let final_result = result.unwrap(); - if let Err(error) = final_result { - trident_client::test::report_error(&error); - return Err(error); - } - Ok(()) -} diff --git a/crates/test/tests/expand/with_root.rs b/crates/test/tests/expand/with_root.rs deleted file mode 100644 index a309ec64..00000000 --- a/crates/test/tests/expand/with_root.rs +++ /dev/null @@ -1,3 +0,0 @@ -#[trident_test::trident_test(root = "i_am_root")] -async fn test_with_defined_root() { -} diff --git a/crates/test/tests/test.rs b/crates/test/tests/test.rs deleted file mode 100644 index e426e767..00000000 --- a/crates/test/tests/test.rs +++ /dev/null @@ -1,4 +0,0 @@ -#[test] -pub fn expanded_trident_test() { - macrotest::expand("tests/expand/*.rs"); -} diff --git a/documentation/docs/integration-tests/howto/poc-howto-p0.md b/documentation/docs/integration-tests/howto/poc-howto-p0.md deleted file mode 100644 index 3e4e5870..00000000 --- a/documentation/docs/integration-tests/howto/poc-howto-p0.md +++ /dev/null @@ -1,47 +0,0 @@ -# Init Fixture - -```rust -// /trident-tests/poc_tests/tests/test.rs -// TODO: do not forget to add all necessary dependencies to the generated `trident-tests/poc_tests/Cargo.toml` -use program_client::my_instruction; -use trident_client::*; -use my_program; - -#[throws] -#[fixture] -async fn init_fixture() -> Fixture { - // create a test fixture - let mut fixture = Fixture { - client: Client::new(system_keypair(0)), - // make sure to pass the correct name of your program - program: anchor_keypair("my_program_name").unwrap(), - state: keypair(42), - }; - // deploy the program to test - fixture.deploy().await?; - // call instruction init - my_instruction::initialize( - &fixture.client, - fixture.state.pubkey(), - fixture.client.payer().pubkey(), - System::id(), - Some(fixture.state.clone()), - ).await?; - fixture -} - -#[trident_test] -async fn test_happy_path(#[future] init_fixture: Result) { - let fixture = init_fixture.await?; - // call the instruction - my_instruction::do_something( - &fixture.client, - "dummy_string".to_owned(), - fixture.state.pubkey(), - None, - ).await?; - // check the test result - let state = fixture.get_state().await?; - assert_eq!(state.something_changed, "yes"); -} -``` diff --git a/documentation/docs/integration-tests/howto/poc-howto-p1.md b/documentation/docs/integration-tests/howto/poc-howto-p1.md deleted file mode 100644 index 6883244f..00000000 --- a/documentation/docs/integration-tests/howto/poc-howto-p1.md +++ /dev/null @@ -1,37 +0,0 @@ -# Testing programs with associated token accounts - -- `Trident` does not export `anchor-spl` and `spl-associated-token-account`, so you have to add it manually. - -```toml -# /trident-tests/poc_tests/Cargo.toml -# import the correct versions manually -anchor-spl = "0.29.0" -spl-associated-token-account = "2.0.0" -``` - -```rust -// /trident-tests/poc_tests/tests/test.rs -use anchor_spl::token::Token; -use spl_associated_token_account; - -async fn init_fixture() -> Fixture { - // ... - let account = keypair(1); - let mint = keypair(2); - // constructs a token mint - client - .create_token_mint(&mint, mint.pubkey(), None, 0) - .await?; - // constructs associated token account - let token_account = client - .create_associated_token_account(&account, mint.pubkey()) - .await?; - let associated_token_program = spl_associated_token_account::id(); - // derives the associated token account address for the given wallet and mint - let associated_token_address = spl_associated_token_account::get_associated_token_address(&account.pubkey(), mint); - Fixture { - // ... - token_program: Token::id(), - } -} -``` diff --git a/documentation/docs/integration-tests/initialization/poc-initialization-all.md b/documentation/docs/integration-tests/initialization/poc-initialization-all.md deleted file mode 100644 index e1e0f8cf..00000000 --- a/documentation/docs/integration-tests/initialization/poc-initialization-all.md +++ /dev/null @@ -1,22 +0,0 @@ - -# All-Suite - -To initialize {{ config.site_name }} and generate all-suite test templates, navigate to your project's root directory and run - -```bash -trident init both -``` - -The command will generate the following folder structure: -```bash -project-root -├── .program_client -├── trident-tests -│ ├── fuzz_tests # fuzz tests folder -│ ├── poc_tests # integration tests folder -│ │ ├── tests -│ │ │ └── test.rs # Integration Tests implementation -│ │ └── Cargo.toml -├── Trident.toml -└── ... -``` diff --git a/documentation/docs/integration-tests/initialization/poc-initialization-poc.md b/documentation/docs/integration-tests/initialization/poc-initialization-poc.md deleted file mode 100644 index ff988497..00000000 --- a/documentation/docs/integration-tests/initialization/poc-initialization-poc.md +++ /dev/null @@ -1,19 +0,0 @@ -# Integration test-only - -If you are interested only in generating templates for Integration Tests run -```bash -trident init poc -``` - -The command will generate the following folder structure: -```bash -project-root -├── .program_client -├── trident-tests -│ ├── poc_tests # integration tests folder -│ │ ├── tests -│ │ │ └── test.rs -│ │ └── Cargo.toml -├── Trident.toml -└── ... -``` diff --git a/documentation/docs/integration-tests/initialization/poc-initialization-program-client.md b/documentation/docs/integration-tests/initialization/poc-initialization-program-client.md deleted file mode 100644 index 9dd73f3e..00000000 --- a/documentation/docs/integration-tests/initialization/poc-initialization-program-client.md +++ /dev/null @@ -1,10 +0,0 @@ -# Program Client - -By default, Integration Tests initialization generates also a `.program_client` crate with all necessary implementation for Instructions. - -If you are interested in updating the `.program_client` implementation due to an update inside your program, run -```bash -trident build -``` - -This command will also initialize `.program_client` if the crate does not exist yet. diff --git a/documentation/docs/integration-tests/poc-examples.md b/documentation/docs/integration-tests/poc-examples.md deleted file mode 100644 index 367d307b..00000000 --- a/documentation/docs/integration-tests/poc-examples.md +++ /dev/null @@ -1,4 +0,0 @@ -# Examples - -- [Escrow](https://github.com/Ackee-Blockchain/trident/tree/master/examples/integration-tests/escrow) -- [Turnstile](https://github.com/Ackee-Blockchain/trident/tree/master/examples/integration-tests/turnstile) diff --git a/documentation/docs/integration-tests/poc-introduction.md b/documentation/docs/integration-tests/poc-introduction.md deleted file mode 100644 index 6da4ebed..00000000 --- a/documentation/docs/integration-tests/poc-introduction.md +++ /dev/null @@ -1,6 +0,0 @@ -# Introduction -{{ config.site_name }} supports writing Integration Tests in Rust. - -
---8<-- "docs/images/demo.svg" -
diff --git a/documentation/docs/integration-tests/poc-run.md b/documentation/docs/integration-tests/poc-run.md deleted file mode 100644 index c7f567b3..00000000 --- a/documentation/docs/integration-tests/poc-run.md +++ /dev/null @@ -1,16 +0,0 @@ -# Run -Once you have finished the implementation of the Integration Test, you can run the Test as follows: - -```bash -trident test -``` - -## Skipping tests - -- You can add the `#[ignore]` macro to skip the test. - -```rust -#[trident_test] -#[ignore] -async fn test() {} -``` diff --git a/documentation/mkdocs.yml b/documentation/mkdocs.yml index edff7cb3..206031f8 100644 --- a/documentation/mkdocs.yml +++ b/documentation/mkdocs.yml @@ -34,17 +34,6 @@ nav: - fuzzing/extra/examples.md - fuzzing/extra/lifecycle.md - fuzzing/extra/current-limitations.md - - Integration Tests: - - integration-tests/poc-introduction.md - - Initialization: - - integration-tests/initialization/poc-initialization-poc.md - - integration-tests/initialization/poc-initialization-program-client.md - - integration-tests/initialization/poc-initialization-all.md - - How-To write Integration Test: - - integration-tests/howto/poc-howto-p0.md - - integration-tests/howto/poc-howto-p1.md - - integration-tests/poc-run.md - - integration-tests/poc-examples.md - CHANGELOG.md # Beware this is strongly dependent on names of folders , example: diff --git a/examples/fuzz-tests/arbitrary-limit-inputs-5/Cargo.lock b/examples/fuzz-tests/arbitrary-limit-inputs-5/Cargo.lock index 177b4324..de4dde49 100644 --- a/examples/fuzz-tests/arbitrary-limit-inputs-5/Cargo.lock +++ b/examples/fuzz-tests/arbitrary-limit-inputs-5/Cargo.lock @@ -193,25 +193,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "anchor-client" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b4397af9b7d6919df3342210d897c0ffda1a31d052abc8eee3e6035ee71567" -dependencies = [ - "anchor-lang", - "anyhow", - "futures", - "regex", - "serde", - "solana-account-decoder", - "solana-client", - "solana-sdk", - "thiserror", - "tokio", - "url", -] - [[package]] name = "anchor-derive-accounts" version = "0.30.1" @@ -1329,38 +1310,14 @@ dependencies = [ "zeroize", ] -[[package]] -name = "darling" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - [[package]] name = "darling" version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83b2eb4d90d12bdda5ed17de686c2acb4c57914f8f921b8da7e112b5a36f3fe1" dependencies = [ - "darling_core 0.20.9", - "darling_macro 0.20.9", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", + "darling_core", + "darling_macro", ] [[package]] @@ -1377,24 +1334,13 @@ dependencies = [ "syn 2.0.68", ] -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote", - "syn 1.0.109", -] - [[package]] name = "darling_macro" version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" dependencies = [ - "darling_core 0.20.9", + "darling_core", "quote", "syn 2.0.68", ] @@ -1526,15 +1472,6 @@ dependencies = [ "walkdir", ] -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - [[package]] name = "dirs-next" version = "2.0.0" @@ -1545,18 +1482,6 @@ dependencies = [ "dirs-sys-next", ] -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - [[package]] name = "dirs-sys-next" version = "0.1.2" @@ -1911,12 +1836,6 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" -[[package]] -name = "futures-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - [[package]] name = "futures-util" version = "0.3.30" @@ -2000,12 +1919,6 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - [[package]] name = "goblin" version = "0.5.4" @@ -2953,12 +2866,6 @@ dependencies = [ "thiserror", ] -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - [[package]] name = "os_str_bytes" version = "6.6.1" @@ -3180,12 +3087,6 @@ dependencies = [ "termtree", ] -[[package]] -name = "pretty-hex" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5" - [[package]] name = "prettytable" version = "0.10.0" @@ -3509,12 +3410,6 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" -[[package]] -name = "relative-path" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" - [[package]] name = "reqwest" version = "0.11.27" @@ -3599,35 +3494,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "rstest" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199" -dependencies = [ - "futures", - "futures-timer", - "rstest_macros", - "rustc_version", -] - -[[package]] -name = "rstest_macros" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605" -dependencies = [ - "cfg-if", - "glob", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.68", - "unicode-ident", -] - [[package]] name = "rtoolbox" version = "0.0.2" @@ -3908,45 +3774,7 @@ version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ - "darling 0.20.9", - "proc-macro2", - "quote", - "syn 2.0.68", -] - -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap 2.2.6", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "serial_test" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" -dependencies = [ - "dashmap", - "futures", - "lazy_static", - "log", - "parking_lot", - "serial_test_derive", -] - -[[package]] -name = "serial_test_derive" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" -dependencies = [ + "darling", "proc-macro2", "quote", "syn 2.0.68", @@ -4024,15 +3852,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" -[[package]] -name = "shellexpand" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" -dependencies = [ - "dirs", -] - [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -4298,49 +4117,6 @@ dependencies = [ "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" @@ -6282,7 +6058,6 @@ dependencies = [ name = "trident-client" version = "0.7.0" dependencies = [ - "anchor-client", "anchor-lang", "anchor-lang-idl-spec", "anchor-syn", @@ -6292,10 +6067,8 @@ dependencies = [ "borsh 0.10.3", "cargo_metadata", "convert_case", - "ed25519-dalek", "fehler", "futures", - "heck 0.4.1", "honggfuzz", "indicatif", "log", @@ -6304,18 +6077,10 @@ dependencies = [ "quinn-proto", "quote", "regex", - "rstest", "serde", "serde_json", - "serial_test", - "shellexpand", - "solana-account-decoder", - "solana-cli-output", "solana-program-test", "solana-sdk", - "solana-transaction-status", - "spl-associated-token-account 2.3.0", - "spl-token", "syn 1.0.109", "thiserror", "tokio", @@ -6325,7 +6090,6 @@ dependencies = [ "trident-derive-fuzz-deserialize", "trident-derive-fuzz-test-executor", "trident-fuzz", - "trident-test", ] [[package]] @@ -6385,15 +6149,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "trident-test" -version = "0.3.3" -dependencies = [ - "darling 0.13.4", - "quote", - "syn 1.0.109", -] - [[package]] name = "try-lock" version = "0.2.5" @@ -6485,12 +6240,6 @@ 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" diff --git a/examples/integration-tests/escrow/.gitignore b/examples/integration-tests/escrow/.gitignore deleted file mode 100644 index d243ecc1..00000000 --- a/examples/integration-tests/escrow/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ - -.anchor -.DS_Store -target -**/*.rs.bk -node_modules -test-ledger diff --git a/examples/integration-tests/escrow/.program_client/Cargo.toml b/examples/integration-tests/escrow/.program_client/Cargo.toml deleted file mode 100644 index 611efca7..00000000 --- a/examples/integration-tests/escrow/.program_client/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "program_client" -version = "0.1.0" -edition = "2018" -[dependencies.trident-client] -path = "../../../../crates/client" - -[dependencies.escrow] -path = "../programs/escrow" -features = ["no-entrypoint"] diff --git a/examples/integration-tests/escrow/.program_client/src/lib.rs b/examples/integration-tests/escrow/.program_client/src/lib.rs deleted file mode 100644 index 4653c102..00000000 --- a/examples/integration-tests/escrow/.program_client/src/lib.rs +++ /dev/null @@ -1,169 +0,0 @@ -// DO NOT EDIT - automatically generated file (except `use` statements inside the `*_instruction` module -pub mod escrow_instruction { - use trident_client::prelude::*; - use trident_client::test::*; - pub const PROGRAM_ID: Pubkey = pubkey!("Po1RaS8BEDbNcn5oXsFryAeQ6Wn8fvmE111DJaKCgPC"); - pub async fn cancel_escrow( - client: &Client, - a_initializer: Pubkey, - a_pda_deposit_token_account: Pubkey, - a_pda_account: Pubkey, - a_escrow_account: Pubkey, - a_token_program: Pubkey, - signers: impl IntoIterator + Send + 'static, - ) -> Result { - client - .send_instruction( - PROGRAM_ID, - escrow::instruction::CancelEscrow {}, - escrow::accounts::CancelEscrow { - initializer: a_initializer, - pda_deposit_token_account: a_pda_deposit_token_account, - pda_account: a_pda_account, - escrow_account: a_escrow_account, - token_program: a_token_program, - }, - signers, - ) - .await - } - pub fn cancel_escrow_ix( - a_initializer: Pubkey, - a_pda_deposit_token_account: Pubkey, - a_pda_account: Pubkey, - a_escrow_account: Pubkey, - a_token_program: Pubkey, - ) -> Instruction { - Instruction { - program_id: PROGRAM_ID, - data: escrow::instruction::CancelEscrow {}.data(), - accounts: escrow::accounts::CancelEscrow { - initializer: a_initializer, - pda_deposit_token_account: a_pda_deposit_token_account, - pda_account: a_pda_account, - escrow_account: a_escrow_account, - token_program: a_token_program, - } - .to_account_metas(None), - } - } - pub async fn exchange( - client: &Client, - a_taker: Pubkey, - a_taker_deposit_token_account: Pubkey, - a_taker_receive_token_account: Pubkey, - a_pda_deposit_token_account: Pubkey, - a_initializer_receive_token_account: Pubkey, - a_initializer_main_account: Pubkey, - a_escrow_account: Pubkey, - a_pda_account: Pubkey, - a_token_program: Pubkey, - signers: impl IntoIterator + Send + 'static, - ) -> Result { - client - .send_instruction( - PROGRAM_ID, - escrow::instruction::Exchange {}, - escrow::accounts::Exchange { - taker: a_taker, - taker_deposit_token_account: a_taker_deposit_token_account, - taker_receive_token_account: a_taker_receive_token_account, - pda_deposit_token_account: a_pda_deposit_token_account, - initializer_receive_token_account: a_initializer_receive_token_account, - initializer_main_account: a_initializer_main_account, - escrow_account: a_escrow_account, - pda_account: a_pda_account, - token_program: a_token_program, - }, - signers, - ) - .await - } - pub fn exchange_ix( - a_taker: Pubkey, - a_taker_deposit_token_account: Pubkey, - a_taker_receive_token_account: Pubkey, - a_pda_deposit_token_account: Pubkey, - a_initializer_receive_token_account: Pubkey, - a_initializer_main_account: Pubkey, - a_escrow_account: Pubkey, - a_pda_account: Pubkey, - a_token_program: Pubkey, - ) -> Instruction { - Instruction { - program_id: PROGRAM_ID, - data: escrow::instruction::Exchange {}.data(), - accounts: escrow::accounts::Exchange { - taker: a_taker, - taker_deposit_token_account: a_taker_deposit_token_account, - taker_receive_token_account: a_taker_receive_token_account, - pda_deposit_token_account: a_pda_deposit_token_account, - initializer_receive_token_account: a_initializer_receive_token_account, - initializer_main_account: a_initializer_main_account, - escrow_account: a_escrow_account, - pda_account: a_pda_account, - token_program: a_token_program, - } - .to_account_metas(None), - } - } - pub async fn initialize_escrow( - client: &Client, - i_initializer_amount: u64, - i_taker_amount: u64, - a_initializer: Pubkey, - a_initializer_deposit_token_account: Pubkey, - a_initializer_receive_token_account: Pubkey, - a_escrow_account: Pubkey, - a_system_program: Pubkey, - a_token_program: Pubkey, - signers: impl IntoIterator + Send + 'static, - ) -> Result { - client - .send_instruction( - PROGRAM_ID, - escrow::instruction::InitializeEscrow { - initializer_amount: i_initializer_amount, - taker_amount: i_taker_amount, - }, - escrow::accounts::InitializeEscrow { - initializer: a_initializer, - initializer_deposit_token_account: a_initializer_deposit_token_account, - initializer_receive_token_account: a_initializer_receive_token_account, - escrow_account: a_escrow_account, - system_program: a_system_program, - token_program: a_token_program, - }, - signers, - ) - .await - } - pub fn initialize_escrow_ix( - i_initializer_amount: u64, - i_taker_amount: u64, - a_initializer: Pubkey, - a_initializer_deposit_token_account: Pubkey, - a_initializer_receive_token_account: Pubkey, - a_escrow_account: Pubkey, - a_system_program: Pubkey, - a_token_program: Pubkey, - ) -> Instruction { - Instruction { - program_id: PROGRAM_ID, - data: escrow::instruction::InitializeEscrow { - initializer_amount: i_initializer_amount, - taker_amount: i_taker_amount, - } - .data(), - accounts: escrow::accounts::InitializeEscrow { - initializer: a_initializer, - initializer_deposit_token_account: a_initializer_deposit_token_account, - initializer_receive_token_account: a_initializer_receive_token_account, - escrow_account: a_escrow_account, - system_program: a_system_program, - token_program: a_token_program, - } - .to_account_metas(None), - } - } -} diff --git a/examples/integration-tests/escrow/Anchor.toml b/examples/integration-tests/escrow/Anchor.toml deleted file mode 100644 index bd98b325..00000000 --- a/examples/integration-tests/escrow/Anchor.toml +++ /dev/null @@ -1,20 +0,0 @@ -[toolchain] -anchor_version = "0.30.1" - -[features] -resolution = true -skip-lint = false - - -[programs.localnet] -escrow = "Fg6PaFpoGXkYsidMpWTK6W2BeZ7FEfcYkg476zPFsLnS" - -[registry] -url = "https://anchor.projectserum.com" - -[provider] -cluster = "localnet" -wallet = "~/.config/solana/id.json" - -[scripts] -test = "yarn run ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts" diff --git a/examples/integration-tests/escrow/Cargo.lock b/examples/integration-tests/escrow/Cargo.lock deleted file mode 100644 index 3a6637ce..00000000 --- a/examples/integration-tests/escrow/Cargo.lock +++ /dev/null @@ -1,7020 +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 = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[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 = "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.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47fe28365b33e8334dd70ae2f34a43892363012fe239cf37d2ee91693575b1f8" -dependencies = [ - "anchor-syn", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-account" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c288d496168268d198d9b53ee9f4f9d260a55ba4df9877ea1d4486ad6109e0f" -dependencies = [ - "anchor-syn", - "bs58 0.5.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-constant" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b77b6948d0eeaaa129ce79eea5bbbb9937375a9241d909ca8fb9e006bb6e90" -dependencies = [ - "anchor-syn", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-error" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d20bb569c5a557c86101b944721d865e1fd0a4c67c381d31a44a84f07f84828" -dependencies = [ - "anchor-syn", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-event" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cebd8d0671a3a9dc3160c48598d652c34c77de6be4d44345b8b514323284d57" -dependencies = [ - "anchor-syn", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-program" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb2a5eb0860e661ab31aff7bb5e0288357b176380e985bade4ccb395981b42d" -dependencies = [ - "anchor-lang-idl", - "anchor-syn", - "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 = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b4397af9b7d6919df3342210d897c0ffda1a31d052abc8eee3e6035ee71567" -dependencies = [ - "anchor-lang", - "anyhow", - "futures", - "regex", - "serde", - "solana-account-decoder", - "solana-client", - "solana-sdk", - "thiserror", - "tokio", - "url", -] - -[[package]] -name = "anchor-derive-accounts" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04368b5abef4266250ca8d1d12f4dff860242681e4ec22b885dcfe354fd35aa1" -dependencies = [ - "anchor-syn", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-serde" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0bb0e0911ad4a70cab880cdd6287fe1e880a1a9d8e4e6defa8e9044b9796a6c" -dependencies = [ - "anchor-syn", - "borsh-derive-internal 0.10.3", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-space" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef415ff156dc82e9ecb943189b0cb241b3a6bfc26a180234dc21bd3ef3ce0cb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-lang" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6620c9486d9d36a4389cab5e37dc34a42ed0bfaa62e6a75a2999ce98f8f2e373" -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", - "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 = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31cf97b4e6f7d6144a05e435660fcf757dbc3446d38d0e2b851d11ed13625bba" -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 = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bdf143115440fe621bdac3a29a1f7472e09f6cd82b2aa569429a0c13f103838" -dependencies = [ - "anyhow", - "serde", -] - -[[package]] -name = "anchor-spl" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04bd077c34449319a1e4e0bc21cea572960c9ae0d0fefda0dd7c52fcc3c647a3" -dependencies = [ - "anchor-lang", - "spl-associated-token-account 3.0.4", - "spl-pod 0.2.5", - "spl-token", - "spl-token-2022 3.0.4", - "spl-token-group-interface 0.2.5", - "spl-token-metadata-interface 0.3.5", -] - -[[package]] -name = "anchor-syn" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f99daacb53b55cfd37ce14d6c9905929721137fd4c67bbab44a19802aecb622f" -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 = "anyhow" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" - -[[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 = "arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" -dependencies = [ - "derive_arbitrary", -] - -[[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.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fec134f64e2bc57411226dfc4e52dec859ddfc7e711fc5e07b612584f000e4aa" -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.76", -] - -[[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 = "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 0.7.4", - "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 = "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.2.0", - "proc-macro2", - "quote", - "syn 2.0.76", - "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 = "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 = "bytemuck" -version = "1.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" - -[[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 = "camino" -version = "1.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" -dependencies = [ - "serde", -] - -[[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-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "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.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6" -dependencies = [ - "jobserver", - "libc", - "shlex", -] - -[[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_lex", - "indexmap 1.9.3", - "once_cell", - "strsim 0.10.0", - "termcolor", - "textwrap 0.16.1", -] - -[[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 = "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 0.3.6", - "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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" - -[[package]] -name = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - -[[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.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "cpufeatures" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" -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 = "csv" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" -dependencies = [ - "memchr", -] - -[[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.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - -[[package]] -name = "darling" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" -dependencies = [ - "darling_core 0.20.10", - "darling_macro 0.20.10", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", -] - -[[package]] -name = "darling_core" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.11.1", - "syn 2.0.76", -] - -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.20.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" -dependencies = [ - "darling_core 0.20.10", - "quote", - "syn 2.0.76", -] - -[[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", -] - -[[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 = "derive_arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[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" -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 = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -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.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[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.76", -] - -[[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.76", -] - -[[package]] -name = "downcast" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" - -[[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 = "encode_unicode" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" - -[[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.76", -] - -[[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.76", -] - -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[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 = "escrow" -version = "0.1.0" -dependencies = [ - "anchor-lang", - "anchor-spl", -] - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "fastrand" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" - -[[package]] -name = "feature-probe" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" - -[[package]] -name = "fehler" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5729fe49ba028cd550747b6e62cd3d841beccab5390aa398538c31a2d983635" -dependencies = [ - "fehler-macros", -] - -[[package]] -name = "fehler-macros" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb5acb1045ebbfa222e2c50679e392a71dd77030b78fb0189f2d9c5974400f9" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "filetime" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", -] - -[[package]] -name = "flate2" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" -dependencies = [ - "crc32fast", - "miniz_oxide 0.8.0", -] - -[[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 = "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 = "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.76", -] - -[[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-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - -[[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 = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[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.4.0", - "slab", - "tokio", - "tokio-util 0.7.11", - "tracing", -] - -[[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 = "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 = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "histogram" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cb882ccb290b8646e554b157ab0b71e64e8d5bef775cd66b6531e52d302669" - -[[package]] -name = "hmac" -version = "0.8.1" -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 = "honggfuzz" -version = "0.5.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c76b6234c13c9ea73946d1379d33186151148e0da231506b964b44f3d023505" -dependencies = [ - "arbitrary", - "lazy_static", - "memmap2 0.9.4", - "rustc_version", -] - -[[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.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" -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 = "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 = "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.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e6ba961c14e98151cd6416dd3685efe786a94c38bc1a535c06ceff0a1600813" - -[[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.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" -dependencies = [ - "equivalent", - "hashbrown 0.14.5", -] - -[[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" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", -] - -[[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.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" -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 = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "libc" -version = "0.2.158" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" - -[[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", - "redox_syscall", -] - -[[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", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand 0.7.3", - "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-gen-ecmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libsecp256k1-gen-genmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" -dependencies = [ - "libsecp256k1-core", -] - -[[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 = "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" - -[[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.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958b4caa893816eea05507c20cfe47574a43d9a697138a7872990bba8a0ece68" -dependencies = [ - "libc", - "lz4-sys", -] - -[[package]] -name = "lz4-sys" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109de74d5d2353660401699a4174a4ff23fcc649caf553df71933c7fb45ad868" -dependencies = [ - "cc", - "libc", -] - -[[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 = "memmap2" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" -dependencies = [ - "libc", -] - -[[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 = "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 = "miniz_oxide" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" -dependencies = [ - "adler2", -] - -[[package]] -name = "mio" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.52.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 = "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 = "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", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" -dependencies = [ - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-derive" -version = "0.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.76", -] - -[[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-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.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" -dependencies = [ - "num_enum_derive 0.6.1", -] - -[[package]] -name = "num_enum" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" -dependencies = [ - "num_enum_derive 0.7.3", -] - -[[package]] -name = "num_enum_derive" -version = "0.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.76", -] - -[[package]] -name = "num_enum_derive" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" -dependencies = [ - "proc-macro-crate 3.2.0", - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[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.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" -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-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[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 = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[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 = "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", - "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 = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac", -] - -[[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", -] - -[[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.76", -] - -[[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 = "poc_tests" -version = "0.1.0" -dependencies = [ - "anchor-spl", - "escrow", - "fehler", - "program_client", - "trident-client", -] - -[[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.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" - -[[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.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "predicates" -version = "2.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59230a63c37f3e18569bdb90e4a89cbf5bf8b06fea0b84e65ea10cc4df47addd" -dependencies = [ - "difflib", - "float-cmp", - "itertools", - "normalize-line-endings", - "predicates-core", - "regex", -] - -[[package]] -name = "predicates-core" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" - -[[package]] -name = "predicates-tree" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" -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 = "prettytable" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46480520d1b77c9a3482d39939fcf96831537a250ec62d4fd8fbdf8e0302e781" -dependencies = [ - "csv", - "encode_unicode 1.0.0", - "is-terminal", - "lazy_static", - "term", - "unicode-width", -] - -[[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.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" -dependencies = [ - "toml_edit 0.22.20", -] - -[[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 = "program_client" -version = "0.1.0" -dependencies = [ - "escrow", - "trident-client", -] - -[[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.76", -] - -[[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 = [ - "arbitrary", - "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.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" -dependencies = [ - "proc-macro2", -] - -[[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.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" -dependencies = [ - "bitflags 2.6.0", -] - -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom 0.2.15", - "libredox", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" -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 = "relative-path" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2" - -[[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", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-rustls", - "tokio-util 0.7.11", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "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 = "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 = "rstest" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199" -dependencies = [ - "futures", - "futures-timer", - "rstest_macros", - "rustc_version", -] - -[[package]] -name = "rstest_macros" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605" -dependencies = [ - "cfg-if", - "glob", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.76", - "unicode-ident", -] - -[[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 = "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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" -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.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" -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 = "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 = "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.76", -] - -[[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 = "security-framework" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" -dependencies = [ - "bitflags 2.6.0", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] - -[[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.209" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" -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.209" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "serde_json" -version = "1.0.127" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_spanned" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" -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 0.20.10", - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap 2.4.0", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "serial_test" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" -dependencies = [ - "dashmap", - "futures", - "lazy_static", - "log", - "parking_lot", - "serial_test_derive", -] - -[[package]] -name = "serial_test_derive" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[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 = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" -dependencies = [ - "dirs", -] - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[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 = "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 = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4185d569c062983fc2a618ae4ee6fe1a139b36bce7a25045647c49bf0020a53" -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", - "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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c156ddd42a2746e14fe267f85a2f802567dfa7c1702836b0ce69ea3be15a3c3" -dependencies = [ - "arrayref", - "bincode", - "blake3", - "bv", - "bytemuck", - "byteorder", - "bzip2", - "crossbeam-channel", - "dashmap", - "flate2", - "fnv", - "im", - "index_list", - "itertools", - "lazy_static", - "log", - "lz4", - "memmap2 0.5.10", - "modular-bitfield", - "num-derive 0.4.2", - "num-traits", - "num_cpus", - "num_enum 0.7.3", - "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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f5967c234aa8281f36999ded250403ddacb77863e2a1e157a3203884a13cfa" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78204433cdb1945ef3622905f806423f5536cc91205dc8e325efe521394d3ca" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f959539e11afaa554c0ae445bb3c726ad658aa33d8b577b76ab7e0ad6e313405" -dependencies = [ - "serde", - "solana-sdk", - "tarpc", -] - -[[package]] -name = "solana-banks-server" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5224477dc90857c98bec8ff746926facf525e0216fdfbde51e28d92d5b11b236" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfab3aa028e4feac760f28e7fb24760813d451e7cff5a13584509ddab4a94311" -dependencies = [ - "bincode", - "byteorder", - "libsecp256k1", - "log", - "scopeguard", - "solana-measure", - "solana-program-runtime", - "solana-sdk", - "solana-zk-token-sdk", - "solana_rbpf", - "thiserror", -] - -[[package]] -name = "solana-bucket-map" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06f781213cf76d8840e688d52fbc3876ae8522d2ac594c1c11ab9b982d7f0336" -dependencies = [ - "bv", - "bytemuck", - "log", - "memmap2 0.5.10", - "modular-bitfield", - "num_enum 0.7.3", - "rand 0.8.5", - "solana-measure", - "solana-sdk", - "tempfile", -] - -[[package]] -name = "solana-clap-utils" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c817832e71886dbea877d1aa911c9ce2e984a39081bb56ee30d4c835567827a6" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3d0ab58e2a883f36082c736fec6e6d5872dc902c3b2cc960ed67d8eaf8994d" -dependencies = [ - "dirs-next", - "lazy_static", - "serde", - "serde_derive", - "serde_yaml", - "solana-clap-utils", - "solana-sdk", - "url", -] - -[[package]] -name = "solana-cli-output" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a398964bb920e7606a8c4b2c01cb6d394ab9b5eb8a6f214fcdc7c5f90f470f36" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fa9cc6e8e59adf70acbf5cac21342ae8b5e41cbf05519fe5f6287e84ab40f63" -dependencies = [ - "async-trait", - "bincode", - "dashmap", - "futures", - "futures-util", - "indexmap 2.4.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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b176bad40620d1c443365daf24e19fbfccafe8daff60eb3ddd6cbd9cf0fbec58" -dependencies = [ - "solana-program-runtime", - "solana-sdk", -] - -[[package]] -name = "solana-config-program" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d02fb29934427f1487d2149fe8bcb405306729b2f22a2ad616bb8ffd024cee7b" -dependencies = [ - "bincode", - "chrono", - "serde", - "serde_derive", - "solana-program-runtime", - "solana-sdk", -] - -[[package]] -name = "solana-connection-cache" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e5a2e26448b3e04ce673794994ff27f3972ec8a806c224eccc02e09f751ca5" -dependencies = [ - "async-trait", - "bincode", - "crossbeam-channel", - "futures-util", - "indexmap 2.4.0", - "log", - "rand 0.8.5", - "rayon", - "rcgen", - "solana-measure", - "solana-metrics", - "solana-sdk", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-cost-model" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c4564996ef9f2983efeedb14a38315fa606d3d2cc0a2c8d899c507c5893fe79" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20a6ef2db80dceb124b7bf81cca3300804bf427d2711973fc3df450ed7dfb26d" -dependencies = [ - "block-buffer 0.10.4", - "bs58 0.4.0", - "bv", - "either", - "generic-array", - "im", - "lazy_static", - "log", - "memmap2 0.5.10", - "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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70088de7d4067d19a7455609e2b393e6086bd847bb39c4d2bf234fc14827ef9e" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.76", -] - -[[package]] -name = "solana-loader-v4-program" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fde1ab49eb031882f4803bf5a8008dca84356717e120ba9276d229ff24633c" -dependencies = [ - "log", - "solana-measure", - "solana-program-runtime", - "solana-sdk", - "solana_rbpf", -] - -[[package]] -name = "solana-logger" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b129da15193f26db62d62ae6bb9f72361f361bcdc36054be3ab8bc04cc7a4f31" -dependencies = [ - "env_logger", - "lazy_static", - "log", -] - -[[package]] -name = "solana-measure" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d195b73093a4964ba6b5943418054a5fcbba23eafdd0842fd973fcceac1a967" -dependencies = [ - "log", - "solana-sdk", -] - -[[package]] -name = "solana-metrics" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe7b06860ffbf4cf4714182e1b7eb00eb3ff0bcc9cff615d05e01e488923883c" -dependencies = [ - "crossbeam-channel", - "gethostname", - "lazy_static", - "log", - "reqwest", - "solana-sdk", - "thiserror", -] - -[[package]] -name = "solana-net-utils" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9400b50b8439868a99b5fa2d961d74e37b7a6c1d5865759d0b1c906c2ad6b2a9" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01a386e852df67031195094628851b8d239dd71fe17b721c3993277e68cb3ab" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb2b2c8babfae4cace1a25b6efa00418f3acd852cf55d7cecc0360d3c5050479" -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", - "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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0444f9440f4459d377c41470b2eb48b527def81f3052b7a121f6aa8c7350cc52" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c76274336971f37dbbd3508aaaa4c98ca0061abd31fb309ad1c6ad132f0c6c0e" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ee4a39e41e789b6f100c97d9f40c1d08381bf6e3d0e351065e542091cddb039" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baad755c76ee0aab8890f0ef873e61b8b3012c523d33bfa5b062fe9be8cef370" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1c2a0ccb0be7ca79e8ff0d7c786bce586433a5687ffbea522453d0b41c4bf4a" -dependencies = [ - "lazy_static", - "num_cpus", -] - -[[package]] -name = "solana-remote-wallet" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d042a812537e3507e1c163c7573fc04c96e12d3eba512e3fe74c7393229fa39" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c6f5560283bd0a6833d1bd816299785058a870fff51b0df399fdb3ce92c8484" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e4ca77f89caa9071acadb1eed19c28a6691fd63d0563ed927c96bf734cf1c9c" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42a6ea9ad81d63f18fb8b3a9b39643cc43eaf909199d67037e724562301d1df7" -dependencies = [ - "clap 2.34.0", - "solana-clap-utils", - "solana-rpc-client", - "solana-sdk", - "thiserror", -] - -[[package]] -name = "solana-runtime" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7c4b50b29b6f5938d2c9b151e9187d4687ca9c26be2c6ebe53ba34826283441" -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 0.5.10", - "mockall", - "modular-bitfield", - "num-derive 0.4.2", - "num-traits", - "num_cpus", - "num_enum 0.7.3", - "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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5e0f0def5c5af07f53d321cea7b104487b522cfff77c3cae3da361bfe956e9e" -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", - "log", - "memmap2 0.5.10", - "num-derive 0.4.2", - "num-traits", - "num_enum 0.7.3", - "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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c55c196c8050834c391a34b58e3c9fd86b15452ef1feeeafa1dbeb9d2291dfec" -dependencies = [ - "bs58 0.4.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.76", -] - -[[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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7c5fc9df712efd671a5a5b68e58a448dc13b70f59ef16bdd0e8d644813eb67a" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624f6d0c84c19a17bf882259303e99e1ed2562a0316c989f847a067aa99d4940" -dependencies = [ - "bincode", - "log", - "rustc_version", - "solana-config-program", - "solana-program-runtime", - "solana-sdk", - "solana-vote-program", -] - -[[package]] -name = "solana-streamer" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "749720d82c5f31f7ec326da1e0baac098201de70f0874719172a55309433b449" -dependencies = [ - "async-channel", - "bytes", - "crossbeam-channel", - "futures-util", - "histogram", - "indexmap 2.4.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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a449f40a516a8e83dcc2ce07643bb3feec4da690f170d438849af06c503cc28" -dependencies = [ - "bincode", - "log", - "serde", - "serde_derive", - "solana-program-runtime", - "solana-sdk", -] - -[[package]] -name = "solana-thin-client" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84535de1253afb6ccc4ae6852eb013ca734c439a902ec5e4684b90ed649a37c2" -dependencies = [ - "bincode", - "log", - "rayon", - "solana-connection-cache", - "solana-rpc-client", - "solana-rpc-client-api", - "solana-sdk", -] - -[[package]] -name = "solana-tpu-client" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff514462bb715aaea9bc5c0ee60f83ab3f91e04279337c6b07d054153b616dc" -dependencies = [ - "async-trait", - "bincode", - "futures-util", - "indexmap 2.4.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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670e387049812d42bdc8fcc4ff75452ff3cb00657af979a90f55f6d37dba9dd9" -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", - "spl-token-2022 1.0.0", - "thiserror", -] - -[[package]] -name = "solana-udp-client" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11183dae826f942ebd0401712c8a52367a4a6312f1cd325f304cd9551226fc8b" -dependencies = [ - "async-trait", - "solana-connection-cache", - "solana-net-utils", - "solana-sdk", - "solana-streamer", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-version" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d518e61ce22c812df23d9c61ab9bcbef4df3e3d3dcaa74a999625f11bcf07" -dependencies = [ - "log", - "rustc_version", - "semver", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk", -] - -[[package]] -name = "solana-vote" -version = "1.18.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae2a4908ac4df02a4adb78f09fe938b31c75f42ba64401b8ac88193eb446943" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5743503143fb2259c41a973a78e9aeeb8e21f1b03543c3bb85449926ea692719" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5813dc267bea898ff40d3bd662a0a7659170dd19ae5e7c46e8dc0a414a205868" -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.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57ee07fa523b4cfcff68de774db7aa87d2da2c4357155a90bacd9a0a0af70a99" -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.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da5d083187e3b3f453e140f292c09186881da8a02a7b5e27f645ee26de3d9cc5" -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", - "spl-token-2022 1.0.0", - "thiserror", -] - -[[package]] -name = "spl-associated-token-account" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143109d789171379e6143ef23191786dfaac54289ad6e7917cfb26b36c432b10" -dependencies = [ - "assert_matches", - "borsh 1.5.1", - "num-derive 0.4.2", - "num-traits", - "solana-program", - "spl-token", - "spl-token-2022 3.0.4", - "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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "210101376962bb22bb13be6daea34656ea1cbc248fce2164b146e39203b55e03" -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.76", -] - -[[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.76", -] - -[[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.76", - "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.76", - "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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c52d84c55efeef8edcc226743dc089d7e3888b8e3474569aa3eff152b37b9996" -dependencies = [ - "borsh 1.5.1", - "bytemuck", - "solana-program", - "solana-zk-token-sdk", - "spl-program-error 0.4.4", -] - -[[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.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45a49acb925db68aa501b926096b2164adbdcade7a0c24152af9f0742d0a602" -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.76", -] - -[[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.76", -] - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fab8edfd37be5fa17c9e42c1bff86abbbaf0494b031b37957f2728ad2ff842ba" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", - "spl-type-length-value 0.4.6", -] - -[[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 = "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.3", - "solana-program", - "solana-security-txt", - "solana-zk-token-sdk", - "spl-memo", - "spl-pod 0.1.0", - "spl-token", - "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.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01d1b2851964e257187c0bca43a0de38d0af59192479ca01ac3e2b58b1bd95a" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.4.2", - "num-traits", - "num_enum 0.7.3", - "solana-program", - "solana-security-txt", - "solana-zk-token-sdk", - "spl-memo", - "spl-pod 0.2.5", - "spl-token", - "spl-token-group-interface 0.2.5", - "spl-token-metadata-interface 0.3.5", - "spl-transfer-hook-interface 0.6.5", - "spl-type-length-value 0.4.6", - "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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "014817d6324b1e20c4bbc883e8ee30a5faa13e59d91d1b2b95df98b920150c17" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", -] - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3da00495b602ebcf5d8ba8b3ecff1ee454ce4c125c9077747be49c2d62335ba" -dependencies = [ - "borsh 1.5.1", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", - "spl-type-length-value 0.4.6", -] - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b5c08a89838e5a2931f79b17f611857f281a14a2100968a3ccef352cb7414b" -dependencies = [ - "arrayref", - "bytemuck", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", - "spl-tlv-account-resolution 0.6.5", - "spl-type-length-value 0.4.6", -] - -[[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.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c872f93d0600e743116501eba2d53460e73a12c9a496875a42a7d70e034fe06d" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", -] - -[[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 = "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 = "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.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525" -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.76", -] - -[[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 = "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.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" -dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - -[[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.76", -] - -[[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.76", - "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.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.63" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[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.39.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9babc99b9923bfa4804bd74722ff02c0381021eafa4db9949217e3be8e84fff5" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", -] - -[[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 = [ - "indexmap 1.9.3", - "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.20", -] - -[[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.4.0", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" -dependencies = [ - "indexmap 2.4.0", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.18", -] - -[[package]] -name = "tower-service" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" - -[[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.76", -] - -[[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 = "trident-client" -version = "0.7.0" -dependencies = [ - "anchor-client", - "anchor-lang", - "anchor-lang-idl-spec", - "anchor-syn", - "anyhow", - "arbitrary", - "bincode", - "borsh 0.10.3", - "cargo_metadata", - "convert_case", - "ed25519-dalek", - "fehler", - "futures", - "heck 0.4.1", - "honggfuzz", - "indicatif", - "log", - "pathdiff", - "proc-macro2", - "quinn-proto", - "quote", - "regex", - "rstest", - "serde", - "serde_json", - "serial_test", - "shellexpand", - "solana-account-decoder", - "solana-cli-output", - "solana-program-test", - "solana-sdk", - "solana-transaction-status", - "spl-associated-token-account 2.3.0", - "spl-token", - "syn 1.0.109", - "thiserror", - "tokio", - "toml 0.5.11", - "trident-derive-accounts-snapshots", - "trident-derive-displayix", - "trident-derive-fuzz-deserialize", - "trident-derive-fuzz-test-executor", - "trident-fuzz", - "trident-test", -] - -[[package]] -name = "trident-derive-accounts-snapshots" -version = "0.0.1" -dependencies = [ - "anchor-syn", - "convert_case", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "trident-derive-displayix" -version = "0.0.2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "trident-derive-fuzz-deserialize" -version = "0.0.2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "trident-derive-fuzz-test-executor" -version = "0.0.2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "trident-fuzz" -version = "0.1.0" -dependencies = [ - "anchor-lang", - "arbitrary", - "prettytable", - "regex", - "serde", - "serde_json", - "solana-banks-client", - "solana-program-runtime", - "solana-program-test", - "solana-sdk", - "spl-token", - "thiserror", - "tokio", -] - -[[package]] -name = "trident-test" -version = "0.3.3" -dependencies = [ - "darling 0.13.4", - "quote", - "syn 1.0.109", -] - -[[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 = "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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" - -[[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 = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[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.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 2.0.76", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.76", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" - -[[package]] -name = "web-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" -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.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.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-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.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.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" -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 = "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 = "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 = [ - "byteorder", - "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.76", -] - -[[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.76", -] - -[[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.13+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/examples/integration-tests/escrow/Cargo.toml b/examples/integration-tests/escrow/Cargo.toml deleted file mode 100644 index f1a4a1e5..00000000 --- a/examples/integration-tests/escrow/Cargo.toml +++ /dev/null @@ -1,11 +0,0 @@ -[workspace] -members = ["programs/*", "trident-tests/poc_tests"] -[profile.release] -overflow-checks = true -lto = "fat" -codegen-units = 1 - -[profile.release.build-override] -opt-level = 3 -incremental = false -codegen-units = 1 diff --git a/examples/integration-tests/escrow/Trident.toml b/examples/integration-tests/escrow/Trident.toml deleted file mode 100644 index a398402c..00000000 --- a/examples/integration-tests/escrow/Trident.toml +++ /dev/null @@ -1,41 +0,0 @@ -[test] -validator_startup_timeout = 15000 - - -[honggfuzz] -# Timeout in seconds (default: 10) -timeout = 10 -# Number of fuzzing iterations (default: 0 [no limit]) -iterations = 0 -# Number of concurrent fuzzing threads (default: 0 [number of CPUs / 2]) -threads = 0 -# Don't close children's stdin, stdout, stderr; can be noisy (default: false) -keep_output = false -# Disable ANSI console; use simple log output (default: false) -verbose = false -# Exit upon seeing the first crash (default: false) -exit_upon_crash = false -# Maximal number of mutations per one run (default: 6) -mutations_per_run = 6 -# Target compilation directory, (default: "" ["trident-tests/fuzz_tests/fuzzing/hfuzz_target"]). -# To not clash with cargo build's default target directory. -cargo_target_dir = "" -# Honggfuzz working directory, (default: "" ["trident-tests/fuzz_tests/fuzzing/hfuzz_workspace"]). -hfuzz_workspace = "" -# Directory where crashes are saved to (default: "" [workspace directory]) -crashdir = "" -# Input file extension (e.g. 'swf'), (default: "" ['fuzz']) -extension = "" -# Number of seconds this fuzzing session will last (default: 0 [no limit]) -run_time = 0 -# Maximal size of files processed by the fuzzer in bytes (default: 1048576 = 1MB) -max_file_size = 1048576 -# Save all test-cases (not only the unique ones) by appending the current time-stamp to the filenames (default: false) -save_all = false - -[fuzz] -# Allow processing of duplicate transactions. Setting to true might speed up fuzzing but can cause false positive crashes (default: false) -allow_duplicate_txs = false -# Trident will show statistics after the fuzzing session. This option forces use of honggfuzz parameter -# `keep_output` as true in order to be able to catch fuzzer stdout. (default: false) -fuzzing_with_stats = false diff --git a/examples/integration-tests/escrow/programs/escrow/Cargo.toml b/examples/integration-tests/escrow/programs/escrow/Cargo.toml deleted file mode 100644 index 86f1a340..00000000 --- a/examples/integration-tests/escrow/programs/escrow/Cargo.toml +++ /dev/null @@ -1,21 +0,0 @@ -[package] -name = "escrow" -version = "0.1.0" -description = "Created with Anchor" -edition = "2021" - -[lib] -crate-type = ["cdylib", "lib"] -name = "escrow" - -[features] -default = [] -cpi = ["no-entrypoint"] -no-entrypoint = [] -no-idl = [] -no-log-ix-name = [] -idl-build = ["anchor-lang/idl-build", "anchor-spl/idl-build"] - -[dependencies] -anchor-lang = "0.30.1" -anchor-spl = "0.30.1" diff --git a/examples/integration-tests/escrow/programs/escrow/Xargo.toml b/examples/integration-tests/escrow/programs/escrow/Xargo.toml deleted file mode 100644 index 475fb71e..00000000 --- a/examples/integration-tests/escrow/programs/escrow/Xargo.toml +++ /dev/null @@ -1,2 +0,0 @@ -[target.bpfel-unknown-unknown.dependencies.std] -features = [] diff --git a/examples/integration-tests/escrow/programs/escrow/src/lib.rs b/examples/integration-tests/escrow/programs/escrow/src/lib.rs deleted file mode 100644 index 1e93b287..00000000 --- a/examples/integration-tests/escrow/programs/escrow/src/lib.rs +++ /dev/null @@ -1,247 +0,0 @@ -//! An example of an escrow program, inspired by PaulX tutorial seen here -//! https://paulx.dev/blog/2021/01/14/programming-on-solana-an-introduction/ -//! This example has some changes to implementation, but more or less should be the same overall -//! Also gives examples on how to use some newer anchor features and CPI -//! -//! User (Initializer) constructs an escrow deal: -//! - SPL token (X) they will offer and amount -//! - SPL token (Y) count they want in return and amount -//! - Program will take ownership of initializer's token X account -//! -//! Once this escrow is initialised, either: -//! 1. User (Taker) can call the exchange function to exchange their Y for X -//! - This will close the escrow account and no longer be usable -//! OR -//! 2. If no one has exchanged, the initializer can close the escrow account -//! - Initializer will get back ownership of their token X account - -use anchor_lang::prelude::*; -use anchor_spl::token::{ - self, spl_token::instruction::AuthorityType, SetAuthority, Token, TokenAccount, Transfer, -}; - -declare_id!("Po1RaS8BEDbNcn5oXsFryAeQ6Wn8fvmE111DJaKCgPC"); - -#[program] -pub mod escrow { - use super::*; - - const ESCROW_PDA_SEED: &[u8] = b"escrow"; - - pub fn initialize_escrow( - ctx: Context, - initializer_amount: u64, - taker_amount: u64, - ) -> Result<()> { - ctx.accounts.escrow_account.initializer_key = *ctx.accounts.initializer.key; - ctx.accounts - .escrow_account - .initializer_deposit_token_account = *ctx - .accounts - .initializer_deposit_token_account - .to_account_info() - .key; - ctx.accounts - .escrow_account - .initializer_receive_token_account = *ctx - .accounts - .initializer_receive_token_account - .to_account_info() - .key; - ctx.accounts.escrow_account.initializer_amount = initializer_amount; - ctx.accounts.escrow_account.taker_amount = taker_amount; - - let (pda, _bump_seed) = Pubkey::find_program_address(&[ESCROW_PDA_SEED], ctx.program_id); - token::set_authority(ctx.accounts.into(), AuthorityType::AccountOwner, Some(pda))?; - Ok(()) - } - - pub fn cancel_escrow(ctx: Context) -> Result<()> { - let (_pda, bump_seed) = Pubkey::find_program_address(&[ESCROW_PDA_SEED], ctx.program_id); - let seeds = &[ESCROW_PDA_SEED, &[bump_seed]]; - - token::set_authority( - ctx.accounts - .into_set_authority_context() - .with_signer(&[&seeds[..]]), - AuthorityType::AccountOwner, - Some(ctx.accounts.escrow_account.initializer_key), - )?; - - Ok(()) - } - - pub fn exchange(ctx: Context) -> Result<()> { - // Transferring from initializer to taker - let (_pda, bump_seed) = Pubkey::find_program_address(&[ESCROW_PDA_SEED], ctx.program_id); - let seeds = &[ESCROW_PDA_SEED, &[bump_seed]]; - - token::transfer( - ctx.accounts - .into_transfer_to_taker_context() - .with_signer(&[&seeds[..]]), - ctx.accounts.escrow_account.initializer_amount, - )?; - - token::transfer( - ctx.accounts.into_transfer_to_initializer_context(), - ctx.accounts.escrow_account.taker_amount, - )?; - - token::set_authority( - ctx.accounts - .into_set_authority_context() - .with_signer(&[&seeds[..]]), - AuthorityType::AccountOwner, - Some(ctx.accounts.escrow_account.initializer_key), - )?; - - Ok(()) - } -} - -#[derive(Accounts)] -#[instruction(initializer_amount: u64)] -pub struct InitializeEscrow<'info> { - #[account(mut)] - pub initializer: Signer<'info>, - #[account( - mut, - constraint = initializer_deposit_token_account.amount >= initializer_amount - )] - pub initializer_deposit_token_account: Account<'info, TokenAccount>, - pub initializer_receive_token_account: Account<'info, TokenAccount>, - #[account(init, payer = initializer, space = 8 + EscrowAccount::LEN)] - pub escrow_account: Account<'info, EscrowAccount>, - pub system_program: Program<'info, System>, - pub token_program: Program<'info, Token>, -} - -#[derive(Accounts)] -pub struct Exchange<'info> { - #[account(signer)] - /// CHECK: ... - pub taker: AccountInfo<'info>, - #[account(mut)] - pub taker_deposit_token_account: Account<'info, TokenAccount>, - #[account(mut)] - pub taker_receive_token_account: Account<'info, TokenAccount>, - #[account(mut)] - pub pda_deposit_token_account: Account<'info, TokenAccount>, - #[account(mut)] - pub initializer_receive_token_account: Account<'info, TokenAccount>, - #[account(mut)] - /// CHECK: ... - pub initializer_main_account: AccountInfo<'info>, - #[account( - mut, - constraint = escrow_account.taker_amount <= taker_deposit_token_account.amount, - constraint = escrow_account.initializer_deposit_token_account == *pda_deposit_token_account.to_account_info().key, - constraint = escrow_account.initializer_receive_token_account == *initializer_receive_token_account.to_account_info().key, - constraint = escrow_account.initializer_key == *initializer_main_account.key, - close = initializer_main_account - )] - pub escrow_account: Account<'info, EscrowAccount>, - /// CHECK: ... - pub pda_account: AccountInfo<'info>, - pub token_program: Program<'info, Token>, -} - -#[derive(Accounts)] -pub struct CancelEscrow<'info> { - /// CHECK: ... - #[account(mut)] - pub initializer: AccountInfo<'info>, - #[account(mut)] - pub pda_deposit_token_account: Account<'info, TokenAccount>, - /// CHECK: ... - pub pda_account: AccountInfo<'info>, - #[account( - mut, - constraint = escrow_account.initializer_key == *initializer.key, - constraint = escrow_account.initializer_deposit_token_account == *pda_deposit_token_account.to_account_info().key, - close = initializer - )] - pub escrow_account: Account<'info, EscrowAccount>, - pub token_program: Program<'info, Token>, -} - -#[account] -pub struct EscrowAccount { - pub initializer_key: Pubkey, - pub initializer_deposit_token_account: Pubkey, - pub initializer_receive_token_account: Pubkey, - pub initializer_amount: u64, - pub taker_amount: u64, -} - -impl EscrowAccount { - pub const LEN: usize = 32 + 32 + 32 + 8 + 8; -} - -impl<'info> From<&mut InitializeEscrow<'info>> - for CpiContext<'_, '_, '_, 'info, SetAuthority<'info>> -{ - fn from(accounts: &mut InitializeEscrow<'info>) -> Self { - let cpi_accounts = SetAuthority { - account_or_mint: accounts - .initializer_deposit_token_account - .to_account_info() - .clone(), - current_authority: accounts.initializer.to_account_info().clone(), - }; - let cpi_program = accounts.token_program.to_account_info(); - CpiContext::new(cpi_program, cpi_accounts) - } -} - -impl<'info> CancelEscrow<'info> { - fn into_set_authority_context(&self) -> CpiContext<'_, '_, '_, 'info, SetAuthority<'info>> { - let cpi_accounts = SetAuthority { - account_or_mint: self.pda_deposit_token_account.to_account_info().clone(), - current_authority: self.pda_account.clone(), - }; - let cpi_program = self.token_program.to_account_info(); - CpiContext::new(cpi_program, cpi_accounts) - } -} - -impl<'info> Exchange<'info> { - fn into_set_authority_context(&self) -> CpiContext<'_, '_, '_, 'info, SetAuthority<'info>> { - let cpi_accounts = SetAuthority { - account_or_mint: self.pda_deposit_token_account.to_account_info().clone(), - current_authority: self.pda_account.clone(), - }; - let cpi_program = self.token_program.to_account_info(); - CpiContext::new(cpi_program, cpi_accounts) - } -} - -impl<'info> Exchange<'info> { - fn into_transfer_to_taker_context(&self) -> CpiContext<'_, '_, '_, 'info, Transfer<'info>> { - let cpi_accounts = Transfer { - from: self.pda_deposit_token_account.to_account_info().clone(), - to: self.taker_receive_token_account.to_account_info().clone(), - authority: self.pda_account.clone(), - }; - let cpi_program = self.token_program.to_account_info(); - CpiContext::new(cpi_program, cpi_accounts) - } -} - -impl<'info> Exchange<'info> { - fn into_transfer_to_initializer_context( - &self, - ) -> CpiContext<'_, '_, '_, 'info, Transfer<'info>> { - let cpi_accounts = Transfer { - from: self.taker_deposit_token_account.to_account_info().clone(), - to: self - .initializer_receive_token_account - .to_account_info() - .clone(), - authority: self.taker.clone(), - }; - let cpi_program = self.token_program.to_account_info(); - CpiContext::new(cpi_program, cpi_accounts) - } -} diff --git a/examples/integration-tests/escrow/trident-tests/poc_tests/Cargo.toml b/examples/integration-tests/escrow/trident-tests/poc_tests/Cargo.toml deleted file mode 100644 index 5f62568a..00000000 --- a/examples/integration-tests/escrow/trident-tests/poc_tests/Cargo.toml +++ /dev/null @@ -1,18 +0,0 @@ -[package] -name = "poc_tests" -version = "0.1.0" -description = "Created with Trident" -edition = "2021" - -[dev-dependencies] -fehler = "1.0.0" -anchor-spl = "0.30.1" - -[dev-dependencies.trident-client] -path = "../../../../../crates/client" - -[dev-dependencies.program_client] -path = "../../.program_client" - -[dev-dependencies.escrow] -path = "../../programs/escrow" diff --git a/examples/integration-tests/escrow/trident-tests/poc_tests/tests/test.rs b/examples/integration-tests/escrow/trident-tests/poc_tests/tests/test.rs deleted file mode 100644 index f98a6593..00000000 --- a/examples/integration-tests/escrow/trident-tests/poc_tests/tests/test.rs +++ /dev/null @@ -1,251 +0,0 @@ -use anchor_spl::token; -use fehler::throws; -use program_client::*; - -use trident_client::prelude::*; -use trident_client::test::*; -#[throws] -#[fixture] -async fn init_fixture() -> Fixture { - let mut fixture = Fixture::new(); - // Deploy - fixture.deploy().await?; - // Create a PDA authority - fixture.pda = Pubkey::find_program_address(&[b"escrow"], &escrow::id()).0; - // Creation of token mint A - fixture - .client - .create_token_mint(&fixture.mint_a, fixture.mint_authority.pubkey(), None, 0) - .await?; - // Creation of token mint B - fixture - .client - .create_token_mint(&fixture.mint_b, fixture.mint_authority.pubkey(), None, 0) - .await?; - // Creation of alice's and bob's ATAs for token A - fixture.alice_token_a_account = fixture - .client - .create_associated_token_account(&fixture.alice_wallet, fixture.mint_a.pubkey()) - .await?; - fixture.bob_token_a_account = fixture - .client - .create_associated_token_account(&fixture.bob_wallet, fixture.mint_a.pubkey()) - .await?; - // Creation of alice's and bob's ATAs for token B - fixture.alice_token_b_account = fixture - .client - .create_associated_token_account(&fixture.alice_wallet, fixture.mint_b.pubkey()) - .await?; - fixture.bob_token_b_account = fixture - .client - .create_associated_token_account(&fixture.bob_wallet, fixture.mint_b.pubkey()) - .await?; - - // Mint some tokens - fixture - .client - .mint_tokens( - fixture.mint_a.pubkey(), - &fixture.mint_authority, - fixture.alice_token_a_account, - 500, - ) - .await?; - fixture - .client - .mint_tokens( - fixture.mint_b.pubkey(), - &fixture.mint_authority, - fixture.bob_token_b_account, - 1000, - ) - .await?; - - fixture -} - -#[trident_test] -async fn test_happy_path1(#[future] init_fixture: Result) { - let fixture = init_fixture.await?; - - // Initialize escrow - escrow_instruction::initialize_escrow( - &fixture.client, - 500, - 1000, - fixture.alice_wallet.pubkey(), - fixture.alice_token_a_account, - fixture.alice_token_b_account, - fixture.escrow_account.pubkey(), - solana_sdk::system_program::ID, - token::ID, - [fixture.alice_wallet.clone(), fixture.escrow_account.clone()], - ) - .await?; - - let escrow = fixture.get_escrow().await?; - let alice_token_a_account = fixture - .get_token_account(fixture.alice_token_a_account) - .await?; - - assert_eq!(alice_token_a_account.owner, fixture.pda); - assert_eq!(escrow.initializer_key, fixture.alice_wallet.pubkey()); - assert_eq!(escrow.initializer_amount, 500); - assert_eq!(escrow.taker_amount, 1000); - assert_eq!( - escrow.initializer_deposit_token_account, - fixture.alice_token_a_account - ); - assert_eq!( - escrow.initializer_receive_token_account, - fixture.alice_token_b_account - ); - - // Exchange - escrow_instruction::exchange( - &fixture.client, - fixture.bob_wallet.pubkey(), - fixture.bob_token_b_account, - fixture.bob_token_a_account, - fixture.alice_token_a_account, - fixture.alice_token_b_account, - fixture.alice_wallet.pubkey(), - fixture.escrow_account.pubkey(), - fixture.pda, - token::ID, - [fixture.bob_wallet.clone()], - ) - .await?; - - let alice_token_a_account = fixture - .get_token_account(fixture.alice_token_a_account) - .await?; - let alice_token_b_account = fixture - .get_token_account(fixture.alice_token_b_account) - .await?; - let bob_token_a_account = fixture - .get_token_account(fixture.bob_token_a_account) - .await?; - let bob_token_b_account = fixture - .get_token_account(fixture.bob_token_b_account) - .await?; - - assert_eq!(alice_token_a_account.owner, fixture.alice_wallet.pubkey()); - assert_eq!(bob_token_a_account.amount, 500); - assert_eq!(alice_token_a_account.amount, 0); - assert_eq!(alice_token_b_account.amount, 1000); - assert_eq!(bob_token_b_account.amount, 0); -} - -#[trident_test] -async fn test_happy_path2(#[future] init_fixture: Result) { - let fixture = init_fixture.await?; - - // Initialize escrow - escrow_instruction::initialize_escrow( - &fixture.client, - 500, - 1000, - fixture.alice_wallet.pubkey(), - fixture.alice_token_a_account, - fixture.alice_token_b_account, - fixture.escrow_account.pubkey(), - solana_sdk::system_program::ID, - token::ID, - [fixture.alice_wallet.clone(), fixture.escrow_account.clone()], - ) - .await?; - - // Cancel - escrow_instruction::cancel_escrow( - &fixture.client, - fixture.alice_wallet.pubkey(), - fixture.alice_token_a_account, - fixture.pda, - fixture.escrow_account.pubkey(), - token::ID, - [], - ) - .await?; - - let alice_token_a_account = fixture - .get_token_account(fixture.alice_token_a_account) - .await?; - - assert_eq!(alice_token_a_account.owner, fixture.alice_wallet.pubkey()); - assert_eq!(alice_token_a_account.amount, 500); -} - -struct Fixture { - client: Client, - program: Keypair, - // Mint stuff - mint_a: Keypair, - mint_b: Keypair, - mint_authority: Keypair, - // Escrow - escrow_account: Keypair, - // Participants - alice_wallet: Keypair, - bob_wallet: Keypair, - // Token accounts - alice_token_a_account: Pubkey, - alice_token_b_account: Pubkey, - bob_token_a_account: Pubkey, - bob_token_b_account: Pubkey, - // PDA authority of escrow - pda: Pubkey, -} -impl Fixture { - fn new() -> Self { - Fixture { - // We use the hardcoded system_keypair(0). - // However the default option in the test template is now to use implementation of trait Default - // for Client which will read keypair from "~/.config/solana/id.json" - (default path for `solana-keygen new`) - client: Client::new(system_keypair(0)), - - // We use the hardcoded program_keypair(1) to ensure users can run these tests without the - // need to modify the program ID in the program's lib.rs source file and in Anchor.toml configuraiton file. - // However the default option in the test template is now to use the keypair generated by Anchor - // located in target/deploy folder using the function anchor_keypair("name_of_your_program"). - program: program_keypair(1), - mint_a: keypair(1), - mint_b: keypair(2), - mint_authority: system_keypair(1), - - escrow_account: keypair(99), - - alice_wallet: keypair(21), - bob_wallet: keypair(22), - - alice_token_a_account: Pubkey::default(), - alice_token_b_account: Pubkey::default(), - bob_token_a_account: Pubkey::default(), - bob_token_b_account: Pubkey::default(), - - pda: Pubkey::default(), - } - } - - #[throws] - async fn deploy(&mut self) { - self.client - .airdrop(self.alice_wallet.pubkey(), 5_000_000_000_000) - .await?; - self.client - .deploy_by_name(&self.program.clone(), "escrow") - .await?; - } - - #[throws] - async fn get_escrow(&self) -> escrow::EscrowAccount { - self.client - .account_data::(self.escrow_account.pubkey()) - .await? - } - - #[throws] - async fn get_token_account(&self, key: Pubkey) -> token::TokenAccount { - self.client.account_data::(key).await? - } -} diff --git a/examples/integration-tests/turnstile/.gitignore b/examples/integration-tests/turnstile/.gitignore deleted file mode 100644 index 92c9568b..00000000 --- a/examples/integration-tests/turnstile/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ - -.anchor -.DS_Store -target -**/*.rs.bk -node_modules -.hypothesis -__pycache__ -test-ledger -mocked_state diff --git a/examples/integration-tests/turnstile/.program_client/Cargo.toml b/examples/integration-tests/turnstile/.program_client/Cargo.toml deleted file mode 100644 index ee15f8e5..00000000 --- a/examples/integration-tests/turnstile/.program_client/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "program_client" -version = "0.1.0" -edition = "2018" -[dependencies.trident-client] -path = "../../../../crates/client" - -[dependencies.turnstile] -path = "../programs/turnstile" -features = ["no-entrypoint"] diff --git a/examples/integration-tests/turnstile/.program_client/src/lib.rs b/examples/integration-tests/turnstile/.program_client/src/lib.rs deleted file mode 100644 index 805a5c9f..00000000 --- a/examples/integration-tests/turnstile/.program_client/src/lib.rs +++ /dev/null @@ -1,86 +0,0 @@ -// DO NOT EDIT - automatically generated file (except `use` statements inside the `*_instruction` module -pub mod turnstile_instruction { - use trident_client::prelude::*; - use trident_client::test::*; - pub const PROGRAM_ID: Pubkey = pubkey!("Po1RaS8BEDbNcn5oXsFryAeQ6Wn8fvmE111DJaKCgPC"); - pub async fn coin( - client: &Client, - i_dummy_arg: String, - a_state: Pubkey, - signers: impl IntoIterator + Send + 'static, - ) -> Result { - client - .send_instruction( - PROGRAM_ID, - turnstile::instruction::Coin { - dummy_arg: i_dummy_arg, - }, - turnstile::accounts::UpdateState { state: a_state }, - signers, - ) - .await - } - pub fn coin_ix(i_dummy_arg: String, a_state: Pubkey) -> Instruction { - Instruction { - program_id: PROGRAM_ID, - data: turnstile::instruction::Coin { - dummy_arg: i_dummy_arg, - } - .data(), - accounts: turnstile::accounts::UpdateState { state: a_state }.to_account_metas(None), - } - } - pub async fn initialize( - client: &Client, - a_state: Pubkey, - a_user: Pubkey, - a_system_program: Pubkey, - signers: impl IntoIterator + Send + 'static, - ) -> Result { - client - .send_instruction( - PROGRAM_ID, - turnstile::instruction::Initialize {}, - turnstile::accounts::Initialize { - state: a_state, - user: a_user, - system_program: a_system_program, - }, - signers, - ) - .await - } - pub fn initialize_ix(a_state: Pubkey, a_user: Pubkey, a_system_program: Pubkey) -> Instruction { - Instruction { - program_id: PROGRAM_ID, - data: turnstile::instruction::Initialize {}.data(), - accounts: turnstile::accounts::Initialize { - state: a_state, - user: a_user, - system_program: a_system_program, - } - .to_account_metas(None), - } - } - pub async fn push( - client: &Client, - a_state: Pubkey, - signers: impl IntoIterator + Send + 'static, - ) -> Result { - client - .send_instruction( - PROGRAM_ID, - turnstile::instruction::Push {}, - turnstile::accounts::UpdateState { state: a_state }, - signers, - ) - .await - } - pub fn push_ix(a_state: Pubkey) -> Instruction { - Instruction { - program_id: PROGRAM_ID, - data: turnstile::instruction::Push {}.data(), - accounts: turnstile::accounts::UpdateState { state: a_state }.to_account_metas(None), - } - } -} diff --git a/examples/integration-tests/turnstile/Anchor.toml b/examples/integration-tests/turnstile/Anchor.toml deleted file mode 100644 index 917146f3..00000000 --- a/examples/integration-tests/turnstile/Anchor.toml +++ /dev/null @@ -1,19 +0,0 @@ -[toolchain] -anchor_version = "0.30.1" - -[features] -resolution = true -skip-lint = false - -[programs.localnet] -turnstile = "Cn1Xg8FR4fnXH9GEgNcYrCoAYnHV7izyJBUBTuamanLS" - -[registry] -url = "https://anchor.projectserum.com" - -[provider] -cluster = "localnet" -wallet = "./keys/id.json" - -[scripts] -test = "ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts" diff --git a/examples/integration-tests/turnstile/Cargo.lock b/examples/integration-tests/turnstile/Cargo.lock deleted file mode 100644 index b675ee8e..00000000 --- a/examples/integration-tests/turnstile/Cargo.lock +++ /dev/null @@ -1,6791 +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.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -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.14", - "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.14", - "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 = "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.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47fe28365b33e8334dd70ae2f34a43892363012fe239cf37d2ee91693575b1f8" -dependencies = [ - "anchor-syn", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-account" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c288d496168268d198d9b53ee9f4f9d260a55ba4df9877ea1d4486ad6109e0f" -dependencies = [ - "anchor-syn", - "bs58 0.5.1", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-constant" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b77b6948d0eeaaa129ce79eea5bbbb9937375a9241d909ca8fb9e006bb6e90" -dependencies = [ - "anchor-syn", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-error" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d20bb569c5a557c86101b944721d865e1fd0a4c67c381d31a44a84f07f84828" -dependencies = [ - "anchor-syn", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-event" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cebd8d0671a3a9dc3160c48598d652c34c77de6be4d44345b8b514323284d57" -dependencies = [ - "anchor-syn", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-attribute-program" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efb2a5eb0860e661ab31aff7bb5e0288357b176380e985bade4ccb395981b42d" -dependencies = [ - "anchor-lang-idl", - "anchor-syn", - "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 = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95b4397af9b7d6919df3342210d897c0ffda1a31d052abc8eee3e6035ee71567" -dependencies = [ - "anchor-lang", - "anyhow", - "futures", - "regex", - "serde", - "solana-account-decoder", - "solana-client", - "solana-sdk", - "thiserror", - "tokio", - "url", -] - -[[package]] -name = "anchor-derive-accounts" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04368b5abef4266250ca8d1d12f4dff860242681e4ec22b885dcfe354fd35aa1" -dependencies = [ - "anchor-syn", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-serde" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0bb0e0911ad4a70cab880cdd6287fe1e880a1a9d8e4e6defa8e9044b9796a6c" -dependencies = [ - "anchor-syn", - "borsh-derive-internal 0.10.3", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-derive-space" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef415ff156dc82e9ecb943189b0cb241b3a6bfc26a180234dc21bd3ef3ce0cb" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "anchor-lang" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6620c9486d9d36a4389cab5e37dc34a42ed0bfaa62e6a75a2999ce98f8f2e373" -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", - "anchor-lang-idl", - "arrayref", - "base64 0.21.7", - "bincode", - "borsh 0.10.3", - "bytemuck", - "getrandom 0.2.14", - "solana-program", - "thiserror", -] - -[[package]] -name = "anchor-lang-idl" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31cf97b4e6f7d6144a05e435660fcf757dbc3446d38d0e2b851d11ed13625bba" -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 = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bdf143115440fe621bdac3a29a1f7472e09f6cd82b2aa569429a0c13f103838" -dependencies = [ - "anyhow", - "serde", -] - -[[package]] -name = "anchor-syn" -version = "0.30.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f99daacb53b55cfd37ce14d6c9905929721137fd4c67bbab44a19802aecb622f" -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 = "anyhow" -version = "1.0.82" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" - -[[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 = "arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" -dependencies = [ - "derive_arbitrary", -] - -[[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.4", - "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.4", - "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.4", -] - -[[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.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e9eabd7a98fe442131a17c316bd9349c43695e49e730c3c8e12cfb5f4da2693" -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.80" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" - -[[package]] -name = "backtrace" -version = "0.3.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" -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.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" -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 = "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.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0901fc8eb0aca4c83be0106d6f2db17d86a08dfc2c25f0e84464bf381158add6" -dependencies = [ - "borsh-derive 1.4.0", - "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.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51670c3aa053938b0ee3bd67c3817e471e626151131b934038e83c5bf8de48f5" -dependencies = [ - "once_cell", - "proc-macro-crate 3.1.0", - "proc-macro2", - "quote", - "syn 2.0.60", - "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 = "brotli" -version = "5.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19483b140a7ac7174d34b5a581b406c64f84da5409d3e09cf4fff604f9270e67" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor", -] - -[[package]] -name = "brotli-decompressor" -version = "4.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6221fe77a248b9117d431ad93761222e1cf8ff282d9d1d5d9f53d6299a1cf76" -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 = "bytemuck" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d6d68c57235a3a081186990eca2867354726650f42f7516ca50c28d6281fd15" -dependencies = [ - "bytemuck_derive", -] - -[[package]] -name = "bytemuck_derive" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4da9a32f3fed317401fa3c862968128267c3106685286e15d5aaa3d7389c2f60" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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 = "camino" -version = "1.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" -dependencies = [ - "serde", -] - -[[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-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "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.12", -] - -[[package]] -name = "cc" -version = "1.0.95" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" -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.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" - -[[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.5", -] - -[[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_lex", - "indexmap 1.9.3", - "once_cell", - "strsim 0.10.0", - "termcolor", - "textwrap 0.16.1", -] - -[[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 = "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 0.3.6", - "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 = "convert_case" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" -dependencies = [ - "unicode-segmentation", -] - -[[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.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" -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.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" - -[[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 = "csv" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac574ff4d437a7b5ad237ef331c17ccca63c46479e5b5453eb8e10bb99a759fe" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5efa2b3d7902f4b634a20cae3c9c4e6209dc4779feb6863329607560143efa70" -dependencies = [ - "memchr", -] - -[[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.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" -dependencies = [ - "darling_core 0.13.4", - "darling_macro 0.13.4", -] - -[[package]] -name = "darling" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" -dependencies = [ - "darling_core 0.20.8", - "darling_macro 0.20.8", -] - -[[package]] -name = "darling_core" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 1.0.109", -] - -[[package]] -name = "darling_core" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim 0.10.0", - "syn 2.0.60", -] - -[[package]] -name = "darling_macro" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" -dependencies = [ - "darling_core 0.13.4", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "darling_macro" -version = "0.20.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" -dependencies = [ - "darling_core 0.20.8", - "quote", - "syn 2.0.60", -] - -[[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.4", - "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", -] - -[[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 = "derive_arbitrary" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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" -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 = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -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.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[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.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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.60", -] - -[[package]] -name = "downcast" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" - -[[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.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" - -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encode_unicode" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0" - -[[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.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c19cbb53d33b57ac4df1f0af6b92c38c107cded663c4aea9fae1189dcfc17cf5" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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.4", - "num-traits", - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "env_logger" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12e6657c4c97ebab115a42dcee77225f7f482cdd841cf7088c657a42e9e00e7" -dependencies = [ - "atty", - "humantime", - "log", - "regex", - "termcolor", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" -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 = "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 = "fehler" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5729fe49ba028cd550747b6e62cd3d841beccab5390aa398538c31a2d983635" -dependencies = [ - "fehler-macros", -] - -[[package]] -name = "fehler-macros" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb5acb1045ebbfa222e2c50679e392a71dd77030b78fb0189f2d9c5974400f9" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[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 = "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 = "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 = "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.60", -] - -[[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-timer" -version = "3.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" - -[[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.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi 0.11.0+wasi-snapshot-preview1", - "wasm-bindgen", -] - -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[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.2.6", - "slab", - "tokio", - "tokio-util 0.7.10", - "tracing", -] - -[[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 = "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 = "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 = "honggfuzz" -version = "0.5.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c76b6234c13c9ea73946d1379d33186151148e0da231506b964b44f3d023505" -dependencies = [ - "arbitrary", - "lazy_static", - "memmap2 0.9.4", - "rustc_version", -] - -[[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.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[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.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf96e135eb83a2a8ddf766e426a841d8ddd7449d5f00d34ea02b41d2f19eef80" -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 = "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 = "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.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e6ba961c14e98151cd6416dd3685efe786a94c38bc1a535c06ceff0a1600813" - -[[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.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ - "equivalent", - "hashbrown 0.14.5", -] - -[[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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -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" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "windows-sys 0.52.0", -] - -[[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 = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.153" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags 2.5.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", - "libsecp256k1-gen-ecmult", - "libsecp256k1-gen-genmult", - "rand 0.7.3", - "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-gen-ecmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccab96b584d38fac86a83f07e659f0deafd0253dc096dab5a36d53efe653c5c3" -dependencies = [ - "libsecp256k1-core", -] - -[[package]] -name = "libsecp256k1-gen-genmult" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67abfe149395e3aa1c48a2beb32b068e2334402df8181f818d3aee2b304c4f5d" -dependencies = [ - "libsecp256k1-core", -] - -[[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.4", - "thiserror", -] - -[[package]] -name = "linux-raw-sys" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" - -[[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.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[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.26.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958b4caa893816eea05507c20cfe47574a43d9a697138a7872990bba8a0ece68" -dependencies = [ - "libc", - "lz4-sys", -] - -[[package]] -name = "lz4-sys" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109de74d5d2353660401699a4174a4ff23fcc649caf553df71933c7fb45ad868" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "memchr" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" - -[[package]] -name = "memmap2" -version = "0.5.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" -dependencies = [ - "libc", -] - -[[package]] -name = "memmap2" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" -dependencies = [ - "libc", -] - -[[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 = "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.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" -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 = "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 = "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", - "num-integer", - "num-iter", - "num-rational", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090c7f9998ee0ff65aa5b723e4009f7b217707f1fb5ea551329cc4d6231fb304" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-bigint" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" -dependencies = [ - "autocfg", - "num-integer", - "num-traits", -] - -[[package]] -name = "num-complex" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b19411a9719e753aff12e5187b74d60d3dc449ec3f4dc21e3989c3f554bc95" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - -[[package]] -name = "num-derive" -version = "0.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.60", -] - -[[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.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" -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-traits" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" -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.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.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.60", -] - -[[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.60", -] - -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -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-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[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 = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[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 = "parking_lot" -version = "0.12.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" -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.1", - "smallvec", - "windows-targets 0.52.5", -] - -[[package]] -name = "paste" -version = "1.0.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" - -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "pbkdf2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216eaa586a190f0a738f2f918511eecfa90f13295abec0e457cdebcceda80cbd" -dependencies = [ - "crypto-mac", -] - -[[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", -] - -[[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.60", -] - -[[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 = "poc_tests" -version = "0.1.0" -dependencies = [ - "fehler", - "program_client", - "trident-client", - "turnstile", -] - -[[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.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" - -[[package]] -name = "predicates-tree" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" -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 = "prettytable" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46480520d1b77c9a3482d39939fcf96831537a250ec62d4fd8fbdf8e0302e781" -dependencies = [ - "csv", - "encode_unicode 1.0.0", - "is-terminal", - "lazy_static", - "term", - "unicode-width", -] - -[[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.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "program_client" -version = "0.1.0" -dependencies = [ - "trident-client", - "turnstile", -] - -[[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.60", -] - -[[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 = [ - "arbitrary", - "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 = "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.14", -] - -[[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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" -dependencies = [ - "bitflags 2.5.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.14", - "libredox", - "thiserror", -] - -[[package]] -name = "regex" -version = "1.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" - -[[package]] -name = "relative-path" -version = "1.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e898588f33fdd5b9420719948f9f2a32c922a246964576f71ba7f24f80610fbc" - -[[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", - "ipnet", - "js-sys", - "log", - "mime", - "once_cell", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "sync_wrapper", - "system-configuration", - "tokio", - "tokio-rustls", - "tokio-util 0.7.10", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "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.14", - "libc", - "spin 0.9.8", - "untrusted 0.9.0", - "windows-sys 0.52.0", -] - -[[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 = "rstest" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97eeab2f3c0a199bc4be135c36c924b6590b88c377d416494288c14f2db30199" -dependencies = [ - "futures", - "futures-timer", - "rstest_macros", - "rustc_version", -] - -[[package]] -name = "rstest_macros" -version = "0.18.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d428f8247852f894ee1be110b375111b586d4fa431f6c46e64ba5a0dcccbe605" -dependencies = [ - "cfg-if", - "glob", - "proc-macro2", - "quote", - "regex", - "relative-path", - "rustc_version", - "syn 2.0.60", - "unicode-ident", -] - -[[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 = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[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.5.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.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" - -[[package]] -name = "ryu" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" - -[[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 = "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.60", -] - -[[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 = "security-framework" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770452e37cad93e0a50d5abc3990d2bc351c36d0328f86cefec2f2fb206eaef6" -dependencies = [ - "bitflags 1.3.2", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41f3cc463c0ef97e11c3461a9d3787412d30e8e7eb907c79180c4a57bf7c04ef" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "semver" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" -dependencies = [ - "serde", -] - -[[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.199" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_bytes" -version = "0.11.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.199" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "serde_json" -version = "1.0.116" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_spanned" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" -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 0.20.8", - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[package]] -name = "serde_yaml" -version = "0.9.34+deprecated" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" -dependencies = [ - "indexmap 2.2.6", - "itoa", - "ryu", - "serde", - "unsafe-libyaml", -] - -[[package]] -name = "serial_test" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e56dd856803e253c8f298af3f4d7eb0ae5e23a737252cd90bb4f3b435033b2d" -dependencies = [ - "dashmap", - "futures", - "lazy_static", - "log", - "parking_lot", - "serial_test_derive", -] - -[[package]] -name = "serial_test_derive" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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 = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da03fa3b94cc19e3ebfc88c4229c49d8f08cdbd1228870a45f0ffdf84988e14b" -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 = "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 = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142161f13c328e7807fe98fb8f6eaaa5045a8eaf4492414aa81254870c4fc8a0" -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", - "spl-token-2022", - "spl-token-group-interface", - "spl-token-metadata-interface", - "thiserror", - "zstd", -] - -[[package]] -name = "solana-accounts-db" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e8b4b15e353d5f0e0ddd77966c6f01b296bd83569af455da5fd9329356ff642" -dependencies = [ - "arrayref", - "bincode", - "blake3", - "bv", - "bytemuck", - "byteorder", - "bzip2", - "crossbeam-channel", - "dashmap", - "flate2", - "fnv", - "im", - "index_list", - "itertools", - "lazy_static", - "log", - "lz4", - "memmap2 0.5.10", - "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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c4eef9fc8aa3ff804dbf17766ab2d2fe38561adc8b521705faa782c18a108d8" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13a4cbe27e78987b706caf90cbd16da9da3955c09a660b8107a96c2cb32f1124" -dependencies = [ - "borsh 1.4.0", - "futures", - "solana-banks-interface", - "solana-program", - "solana-sdk", - "tarpc", - "thiserror", - "tokio", - "tokio-serde", -] - -[[package]] -name = "solana-banks-interface" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "741279a09bf5ea1a3d17e591db7b189e163722e5c46423308c6a6165bea5e74d" -dependencies = [ - "serde", - "solana-sdk", - "tarpc", -] - -[[package]] -name = "solana-banks-server" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66768544951feb91c3470e255d4613295b5cc5a58a9cc6a4207ab9a0178cfe9" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60e9dd5e42193260cca0794bf4ab9e248f44b3d9710041f241b130d26ed682bc" -dependencies = [ - "bincode", - "byteorder", - "libsecp256k1", - "log", - "scopeguard", - "solana-measure", - "solana-program-runtime", - "solana-sdk", - "solana-zk-token-sdk", - "solana_rbpf", - "thiserror", -] - -[[package]] -name = "solana-bucket-map" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a7b34296d69867253671a71a2231b8d5b4a810bd7a5c1c603e7b542832d5980" -dependencies = [ - "bv", - "bytemuck", - "log", - "memmap2 0.5.10", - "modular-bitfield", - "num_enum 0.7.2", - "rand 0.8.5", - "solana-measure", - "solana-sdk", - "tempfile", -] - -[[package]] -name = "solana-clap-utils" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8e9f61034a61db538a41700b6df0b4b9f0392038adaf780150481923ff94356" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c11246ea0930c3e95dc489d42f1020ea423a3daced137904d42ecc10a838436" -dependencies = [ - "dirs-next", - "lazy_static", - "serde", - "serde_derive", - "serde_yaml", - "solana-clap-utils", - "solana-sdk", - "url", -] - -[[package]] -name = "solana-cli-output" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea94deca7268b61a245429a7798f3e673baccb5cee5909e7de403b322d4c130a" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13f2bd5a986d7cac1b4ffb4344413b70b6f21fd7ffa92a985911756b4ac7682a" -dependencies = [ - "async-trait", - "bincode", - "dashmap", - "futures", - "futures-util", - "indexmap 2.2.6", - "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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca100b2bdd7e455f5f0b9791bc204dacd684a0373ad1032697dbad43f34e527f" -dependencies = [ - "solana-program-runtime", - "solana-sdk", -] - -[[package]] -name = "solana-config-program" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "970d28779e92a11e32a89ee453edc7d89394d3a68d8c4b75ef0ffb833944c588" -dependencies = [ - "bincode", - "chrono", - "serde", - "serde_derive", - "solana-program-runtime", - "solana-sdk", -] - -[[package]] -name = "solana-connection-cache" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd7d0022ded19dca32ced5528c6a050596877fc8b9a89322d876960a89466e1b" -dependencies = [ - "async-trait", - "bincode", - "crossbeam-channel", - "futures-util", - "indexmap 2.2.6", - "log", - "rand 0.8.5", - "rayon", - "rcgen", - "solana-measure", - "solana-metrics", - "solana-sdk", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-cost-model" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd3c63699df1680535daee8e486bd496e2ec849c427de4b6a42d4f1b27430949" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35a0b24cc4d0ebd5fd45d6bd47bed3790f8a75ade67af8ff24a3d719a8bc93bc" -dependencies = [ - "block-buffer 0.10.4", - "bs58 0.4.0", - "bv", - "either", - "generic-array", - "im", - "lazy_static", - "log", - "memmap2 0.5.10", - "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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51600f4066d3663ab2981fd24e77a8c2e65f5d20ea71b550b853ca9ae40eee7f" -dependencies = [ - "proc-macro2", - "quote", - "rustc_version", - "syn 2.0.60", -] - -[[package]] -name = "solana-loader-v4-program" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c566ebf0da216efc70054bf2d6d06c16fe44b63402c6f3bb04f6a88d8571d9b" -dependencies = [ - "log", - "solana-measure", - "solana-program-runtime", - "solana-sdk", - "solana_rbpf", -] - -[[package]] -name = "solana-logger" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd79ef26804612173c95be8da84df3128d648173cf1f746de8f183ec8dbedd92" -dependencies = [ - "env_logger", - "lazy_static", - "log", -] - -[[package]] -name = "solana-measure" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "300f716a5f1c2f4b562fb008a0cc7d7c0d889cff802a7f8177fdf28772ae1ed9" -dependencies = [ - "log", - "solana-sdk", -] - -[[package]] -name = "solana-metrics" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abf1705d52e4f123856725e1b3842cd4928b954ff62391a95af142a5adc58ac6" -dependencies = [ - "crossbeam-channel", - "gethostname", - "lazy_static", - "log", - "reqwest", - "solana-sdk", - "thiserror", -] - -[[package]] -name = "solana-net-utils" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f2634fd50743e2ca075e663e07b0bd5c2f94db0ac320ce5bc2022e0002d82d" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0264d7093d44c239d9eb41beb6877b7b1eea5ad8809c93c1d9ab0c840ba390" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a5513a02d622ba89e76baf4b49d25ae20c2c2c623fced12b0d6dd7b8f23e006" -dependencies = [ - "ark-bn254", - "ark-ec", - "ark-ff", - "ark-serialize", - "base64 0.21.7", - "bincode", - "bitflags 2.5.0", - "blake3", - "borsh 0.10.3", - "borsh 0.9.3", - "borsh 1.4.0", - "bs58 0.4.0", - "bv", - "bytemuck", - "cc", - "console_error_panic_hook", - "console_log", - "curve25519-dalek", - "getrandom 0.2.14", - "itertools", - "js-sys", - "lazy_static", - "libc", - "libsecp256k1", - "light-poseidon", - "log", - "memoffset 0.9.1", - "num-bigint 0.4.4", - "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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64dc9f666a8e4f93166ce58eea9dfbf275e5cad461b2f1bbfa06538718dc3212" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2760112327ffce892f6a21030f7c9e4b6da3ded8c8eadf1dbfffcb5a754c61db" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffdcbdad685b87475a91909fdb442d2edfabc2870110580c7f0cf7eb7883f97" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "056e909037b05097d2ff0181cb7e3d26876d8dff6d50701463a61e990cf84afd" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e93a5e1ef891dca2cca907f7196b6a5d3b80af4183f2be0f981906b16711ff5d" -dependencies = [ - "lazy_static", - "num_cpus", -] - -[[package]] -name = "solana-remote-wallet" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c06eaf47d9a98ba22e890e68868f5d48c91e01268c541a53b5960288b617d6" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed1d4b6f1f4e3dab7509401e85edc1c1ac208c61819de90178e01cf162c9c051" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31feddef24d3e0aab189571adea7f109639ef6179fcd3cd34ffc8c73d3409f1" -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", - "thiserror", -] - -[[package]] -name = "solana-rpc-client-nonce-utils" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1837728262063723c659e4b8c0acf0baa99cd38cb333511456465d2c9e654474" -dependencies = [ - "clap 2.34.0", - "solana-clap-utils", - "solana-rpc-client", - "solana-sdk", - "thiserror", -] - -[[package]] -name = "solana-runtime" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a3480088ad0ffb701ada496f19754b4ff737e516c6b5f1231508e50ae2e0ea3" -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 0.5.10", - "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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f50cac89269a01235f6b421bc580132191f4df388f4265513e78fd00cf864dd" -dependencies = [ - "assert_matches", - "base64 0.21.7", - "bincode", - "bitflags 2.5.0", - "borsh 1.4.0", - "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", - "log", - "memmap2 0.5.10", - "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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cb099b2f9c0a65a6f23ced791325141cd68c27b04d11c04fef838a00f613861" -dependencies = [ - "bs58 0.4.0", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.60", -] - -[[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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0deed4fe8bb31ff178d8b7e8295bc81e6e1d704fc0e2c5565f58d9eb8feec89d" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ea02d44b82ed0eb271871cf8a1b8179a0ab50f4f995e7d8ae691c1971bd0a0e" -dependencies = [ - "bincode", - "log", - "rustc_version", - "solana-config-program", - "solana-program-runtime", - "solana-sdk", - "solana-vote-program", -] - -[[package]] -name = "solana-streamer" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8a20843e8370adb3c04f47caa79ffdc92ae1bf078ad26530be1bca5d7bdd5d2" -dependencies = [ - "async-channel", - "bytes", - "crossbeam-channel", - "futures-util", - "histogram", - "indexmap 2.2.6", - "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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01294e45b407b7d4c8ff546af6f60344efd6591cf162c88e231ee3ba2c544672" -dependencies = [ - "bincode", - "log", - "serde", - "serde_derive", - "solana-program-runtime", - "solana-sdk", -] - -[[package]] -name = "solana-thin-client" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c74da8f36b89b28c47e5ba3bad5279ff3dfea5829154882845d4821fc76ff497" -dependencies = [ - "bincode", - "log", - "rayon", - "solana-connection-cache", - "solana-rpc-client", - "solana-rpc-client-api", - "solana-sdk", -] - -[[package]] -name = "solana-tpu-client" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f2fd4b4aeffa14b9c5be9913072ea8e72ca261254a65a999f3d2fd70e7a660" -dependencies = [ - "async-trait", - "bincode", - "futures-util", - "indexmap 2.2.6", - "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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3efa0d30f78dbc74e795638b053dd6ec7230739301e7f0e06b586f7731fd25c8" -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", - "spl-memo", - "spl-token", - "spl-token-2022", - "thiserror", -] - -[[package]] -name = "solana-udp-client" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32af58cadd37be19d04e0f3877104b8640bccc4be8ca1dbf431549b399b784c2" -dependencies = [ - "async-trait", - "solana-connection-cache", - "solana-net-utils", - "solana-sdk", - "solana-streamer", - "thiserror", - "tokio", -] - -[[package]] -name = "solana-version" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42c7cef8aa9f1c633bf09dd91b8e635b6b30c40236652031b1800b245dc1bd02" -dependencies = [ - "log", - "rustc_version", - "semver", - "serde", - "serde_derive", - "solana-frozen-abi", - "solana-frozen-abi-macro", - "solana-sdk", -] - -[[package]] -name = "solana-vote" -version = "1.18.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12945ee508c751ffdce58f976be6e58a05529ce0032c1f7db76eed6a8d76b33c" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "725a39044d455c08fe83fca758e94e5ddfaa25f6e2e2cfd5c31d7afdcad8de38" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39263f3e47a160b9b67896f2225d56e6872905c066152cbe61f5fd201c52a6d2" -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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630dc0b5f6250cf6a4c8b2bd3895283738915e83eba5453db20bb02b2527f302" -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", - "spl-token-2022", - "thiserror", -] - -[[package]] -name = "spl-discriminator" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa600f2fe56f32e923261719bae640d873edadbc5237681a39b8e37bfd4d263" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator-derive", -] - -[[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", - "syn 2.0.60", -] - -[[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.60", - "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.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85a5db7e4efb1107b0b8e52a13f035437cdcb36ef99c58f6d467f089d9b2915a" -dependencies = [ - "borsh 0.10.3", - "bytemuck", - "solana-program", - "solana-zk-token-sdk", - "spl-program-error", -] - -[[package]] -name = "spl-program-error" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e0657b6490196971d9e729520ba934911ff41fbb2cb9004463dbe23cf8b4b4f" -dependencies = [ - "num-derive 0.4.2", - "num-traits", - "solana-program", - "spl-program-error-derive", - "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.60", -] - -[[package]] -name = "spl-tlv-account-resolution" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f335787add7fa711819f9e7c573f8145a5358a709446fe2d24bf2a88117c90" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator", - "spl-pod", - "spl-program-error", - "spl-type-length-value", -] - -[[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 = "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", - "spl-token", - "spl-token-group-interface", - "spl-token-metadata-interface", - "spl-transfer-hook-interface", - "spl-type-length-value", - "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", - "spl-pod", - "spl-program-error", -] - -[[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", - "spl-pod", - "spl-program-error", - "spl-type-length-value", -] - -[[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", - "spl-pod", - "spl-program-error", - "spl-tlv-account-resolution", - "spl-type-length-value", -] - -[[package]] -name = "spl-type-length-value" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f9ebd75d29c5f48de5f6a9c114e08531030b75b8ac2c557600ac7da0b73b1e8" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator", - "spl-pod", - "spl-program-error", -] - -[[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 = "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 = "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.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" -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.60", -] - -[[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 = "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 = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - -[[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.60", -] - -[[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.60", - "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.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.59" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -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.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1adbebffeca75fcfd058afa480fb6c0b81e165a0323f9c9d39c9697e37c46787" -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.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "indexmap 1.9.3", - "serde", -] - -[[package]] -name = "toml" -version = "0.8.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9dd1545e8208b4a5af1aa9bbd0b4cf7e9ea08fabc5d0a5c67fcaafa17433aa3" -dependencies = [ - "serde", - "serde_spanned", - "toml_datetime", - "toml_edit 0.22.12", -] - -[[package]] -name = "toml_datetime" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" -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.2.6", - "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.2.6", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" -dependencies = [ - "indexmap 2.2.6", - "serde", - "serde_spanned", - "toml_datetime", - "winnow 0.6.18", -] - -[[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.60", -] - -[[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 = "trident-client" -version = "0.7.0" -dependencies = [ - "anchor-client", - "anchor-lang", - "anchor-lang-idl-spec", - "anyhow", - "arbitrary", - "bincode", - "borsh 0.10.3", - "cargo_metadata", - "convert_case", - "ed25519-dalek", - "fehler", - "futures", - "heck 0.4.1", - "honggfuzz", - "indicatif", - "log", - "pathdiff", - "proc-macro2", - "quinn-proto", - "quote", - "regex", - "rstest", - "serde", - "serde_json", - "serial_test", - "shellexpand", - "solana-account-decoder", - "solana-cli-output", - "solana-program-test", - "solana-sdk", - "solana-transaction-status", - "spl-associated-token-account", - "spl-token", - "syn 1.0.109", - "thiserror", - "tokio", - "toml 0.5.11", - "trident-derive-accounts-snapshots", - "trident-derive-displayix", - "trident-derive-fuzz-deserialize", - "trident-derive-fuzz-test-executor", - "trident-fuzz", - "trident-test", -] - -[[package]] -name = "trident-derive-accounts-snapshots" -version = "0.0.1" -dependencies = [ - "anchor-syn", - "convert_case", - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "trident-derive-displayix" -version = "0.0.2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "trident-derive-fuzz-deserialize" -version = "0.0.2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "trident-derive-fuzz-test-executor" -version = "0.0.2" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - -[[package]] -name = "trident-fuzz" -version = "0.1.0" -dependencies = [ - "anchor-lang", - "arbitrary", - "prettytable", - "regex", - "serde", - "serde_json", - "solana-banks-client", - "solana-program-runtime", - "solana-program-test", - "solana-sdk", - "spl-token", - "thiserror", - "tokio", -] - -[[package]] -name = "trident-test" -version = "0.3.3" -dependencies = [ - "darling 0.13.4", - "quote", - "syn 1.0.109", -] - -[[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 = "turnstile" -version = "0.1.0" -dependencies = [ - "anchor-lang", -] - -[[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.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" - -[[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.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" -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 = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[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.60", - "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.60", - "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 = "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.5", -] - -[[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.5", -] - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" -dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", -] - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" - -[[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.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" - -[[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.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" -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 = "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 = "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.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" -dependencies = [ - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.60", -] - -[[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.60", -] - -[[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.10+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/examples/integration-tests/turnstile/Cargo.toml b/examples/integration-tests/turnstile/Cargo.toml deleted file mode 100644 index f1a4a1e5..00000000 --- a/examples/integration-tests/turnstile/Cargo.toml +++ /dev/null @@ -1,11 +0,0 @@ -[workspace] -members = ["programs/*", "trident-tests/poc_tests"] -[profile.release] -overflow-checks = true -lto = "fat" -codegen-units = 1 - -[profile.release.build-override] -opt-level = 3 -incremental = false -codegen-units = 1 diff --git a/examples/integration-tests/turnstile/Makefile.toml b/examples/integration-tests/turnstile/Makefile.toml deleted file mode 100644 index 4131ae62..00000000 --- a/examples/integration-tests/turnstile/Makefile.toml +++ /dev/null @@ -1,12 +0,0 @@ -[config] -default_to_workspace = false -min_version = "0.32.15" - -[config.modify_core_tasks] -private = true -namespace = "default" - -[tasks.trident] -description = "Run Trident CLI" -command = "cargo" -args = ["run", "--manifest-path", "../../crates/cli/Cargo.toml", "--", "${@}"] diff --git a/examples/integration-tests/turnstile/README.md b/examples/integration-tests/turnstile/README.md deleted file mode 100644 index 7f3edfa9..00000000 --- a/examples/integration-tests/turnstile/README.md +++ /dev/null @@ -1,5 +0,0 @@ -1. Use Linux or Mac or Windows WSL -1. Install [Rust](https://www.rust-lang.org/tools/install) -1. Install [Solana Tool Suite](https://docs.solana.com/cli/install-solana-cli-tools) -1. `cargo install cargo-make --no-default-features` -1. `makers trident test` diff --git a/examples/integration-tests/turnstile/Trident.toml b/examples/integration-tests/turnstile/Trident.toml deleted file mode 100644 index a398402c..00000000 --- a/examples/integration-tests/turnstile/Trident.toml +++ /dev/null @@ -1,41 +0,0 @@ -[test] -validator_startup_timeout = 15000 - - -[honggfuzz] -# Timeout in seconds (default: 10) -timeout = 10 -# Number of fuzzing iterations (default: 0 [no limit]) -iterations = 0 -# Number of concurrent fuzzing threads (default: 0 [number of CPUs / 2]) -threads = 0 -# Don't close children's stdin, stdout, stderr; can be noisy (default: false) -keep_output = false -# Disable ANSI console; use simple log output (default: false) -verbose = false -# Exit upon seeing the first crash (default: false) -exit_upon_crash = false -# Maximal number of mutations per one run (default: 6) -mutations_per_run = 6 -# Target compilation directory, (default: "" ["trident-tests/fuzz_tests/fuzzing/hfuzz_target"]). -# To not clash with cargo build's default target directory. -cargo_target_dir = "" -# Honggfuzz working directory, (default: "" ["trident-tests/fuzz_tests/fuzzing/hfuzz_workspace"]). -hfuzz_workspace = "" -# Directory where crashes are saved to (default: "" [workspace directory]) -crashdir = "" -# Input file extension (e.g. 'swf'), (default: "" ['fuzz']) -extension = "" -# Number of seconds this fuzzing session will last (default: 0 [no limit]) -run_time = 0 -# Maximal size of files processed by the fuzzer in bytes (default: 1048576 = 1MB) -max_file_size = 1048576 -# Save all test-cases (not only the unique ones) by appending the current time-stamp to the filenames (default: false) -save_all = false - -[fuzz] -# Allow processing of duplicate transactions. Setting to true might speed up fuzzing but can cause false positive crashes (default: false) -allow_duplicate_txs = false -# Trident will show statistics after the fuzzing session. This option forces use of honggfuzz parameter -# `keep_output` as true in order to be able to catch fuzzer stdout. (default: false) -fuzzing_with_stats = false diff --git a/examples/integration-tests/turnstile/programs/turnstile/Cargo.toml b/examples/integration-tests/turnstile/programs/turnstile/Cargo.toml deleted file mode 100644 index f9a6a663..00000000 --- a/examples/integration-tests/turnstile/programs/turnstile/Cargo.toml +++ /dev/null @@ -1,21 +0,0 @@ -[package] -name = "turnstile" -version = "0.1.0" -description = "Created with Anchor" -edition = "2021" - -[lib] -crate-type = ["cdylib", "lib"] -name = "turnstile" -doctest = false - -[features] -default = [] -cpi = ["no-entrypoint"] -no-entrypoint = [] -no-idl = [] -no-log-ix-name = [] -idl-build = ["anchor-lang/idl-build"] - -[dependencies] -anchor-lang = "0.30.1" diff --git a/examples/integration-tests/turnstile/programs/turnstile/Xargo.toml b/examples/integration-tests/turnstile/programs/turnstile/Xargo.toml deleted file mode 100644 index 475fb71e..00000000 --- a/examples/integration-tests/turnstile/programs/turnstile/Xargo.toml +++ /dev/null @@ -1,2 +0,0 @@ -[target.bpfel-unknown-unknown.dependencies.std] -features = [] diff --git a/examples/integration-tests/turnstile/programs/turnstile/src/lib.rs b/examples/integration-tests/turnstile/programs/turnstile/src/lib.rs deleted file mode 100644 index 9008ca64..00000000 --- a/examples/integration-tests/turnstile/programs/turnstile/src/lib.rs +++ /dev/null @@ -1,58 +0,0 @@ -use anchor_lang::prelude::*; - -declare_id!("Po1RaS8BEDbNcn5oXsFryAeQ6Wn8fvmE111DJaKCgPC"); - -#[program] -pub mod turnstile { - use super::*; - - pub fn initialize(ctx: Context) -> Result<()> { - let state = &mut ctx.accounts.state; - state.locked = true; - state.res = false; - Ok(()) - } - - #[allow(unused_variables)] - pub fn coin(ctx: Context, dummy_arg: String) -> Result<()> { - let state = &mut ctx.accounts.state; - state.locked = false; - Ok(()) - } - - pub fn push(ctx: Context) -> Result<()> { - let state = &mut ctx.accounts.state; - if state.locked { - state.res = false; - } else { - state.locked = true; - state.res = true; - } - Ok(()) - } -} - -#[derive(Accounts)] -pub struct Initialize<'info> { - #[account( - init, - payer = user, - space = 8 + 2 - )] - pub state: Account<'info, State>, - #[account(mut)] - pub user: Signer<'info>, - pub system_program: Program<'info, System>, -} - -#[derive(Accounts)] -pub struct UpdateState<'info> { - #[account(mut)] - pub state: Account<'info, State>, -} - -#[account] -pub struct State { - pub locked: bool, - pub res: bool, -} diff --git a/examples/integration-tests/turnstile/trident-tests/poc_tests/Cargo.toml b/examples/integration-tests/turnstile/trident-tests/poc_tests/Cargo.toml deleted file mode 100644 index 2fd236f2..00000000 --- a/examples/integration-tests/turnstile/trident-tests/poc_tests/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "poc_tests" -version = "0.1.0" -description = "Created with Trident" -edition = "2021" - -[dev-dependencies] -fehler = "1.0.0" - -[dev-dependencies.trident-client] -path = "../../../../../crates/client" - -[dev-dependencies.program_client] -path = "../../.program_client" - -[dev-dependencies.turnstile] -path = "../../programs/turnstile" diff --git a/examples/integration-tests/turnstile/trident-tests/poc_tests/tests/test.rs b/examples/integration-tests/turnstile/trident-tests/poc_tests/tests/test.rs deleted file mode 100644 index 09dd87a8..00000000 --- a/examples/integration-tests/turnstile/trident-tests/poc_tests/tests/test.rs +++ /dev/null @@ -1,99 +0,0 @@ -use fehler::throws; -use program_client::*; -use trident_client::prelude::*; -use trident_client::test::*; - -#[throws] -#[fixture] -async fn init_fixture() -> Fixture { - // create a test fixture - let fixture = Fixture { - // We use the hardcoded system_keypair(0). - // However the default option in the test template is now to use implementation of trait Default - // for Client which will read keypair from "~/.config/solana/id.json" - (default path for `solana-keygen new`) - client: Client::new(system_keypair(0)), - - // We use the hardcoded program_keypair(1) to ensure users can run these tests without the - // need to modify the program ID in the program's lib.rs source file and in Anchor.toml configuraiton file. - // However the default option in the test template is now to use the keypair generated by Anchor - // located in target/deploy folder using the function anchor_keypair("name_of_your_program"). - program: program_keypair(1), - state: keypair(42), - user_initializer: keypair(45), - }; - fixture - .client - .airdrop(fixture.user_initializer.pubkey(), 5_000_000_000) - .await?; - // deploy a tested program - fixture - .client - .deploy_by_name(&fixture.program, "turnstile") - .await?; - - // init instruction call - turnstile_instruction::initialize( - &fixture.client, - fixture.state.pubkey(), - fixture.user_initializer.pubkey(), - solana_sdk::system_program::ID, - [fixture.state.clone(), fixture.user_initializer.clone()], - ) - .await?; - - fixture -} - -#[trident_test] -async fn test_happy_path(#[future] init_fixture: Result) { - let fixture = init_fixture.await?; - - // coin instruction call - turnstile_instruction::coin( - &fixture.client, - "dummy_string".to_owned(), - fixture.state.pubkey(), - None, - ) - .await?; - // push instruction call - turnstile_instruction::push(&fixture.client, fixture.state.pubkey(), None).await?; - - // check the test result - let state = fixture.get_state().await?; - - // after pushing the turnstile should be locked - assert!(state.locked); - // the last push was successfull - assert!(state.res); -} - -#[trident_test] -async fn test_unhappy_path(#[future] init_fixture: Result) { - let fixture = init_fixture.await?; - - // pushing without prior coin insertion - turnstile_instruction::push(&fixture.client, fixture.state.pubkey(), None).await?; - - // check the test result - let state = fixture.get_state().await?; - - // after pushing the turnstile should be locked - assert!(state.locked); - // the last push was successfull - assert!(!state.res); -} - -struct Fixture { - client: Client, - program: Keypair, - state: Keypair, - user_initializer: Keypair, -} - -impl Fixture { - #[throws] - async fn get_state(&self) -> turnstile::State { - self.client.account_data(self.state.pubkey()).await? - } -} diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 624eb0ea..628740b1 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.76.0" +channel = "1.79.0"