From 55d558c80effec807d492e00a9923898773d0d1b Mon Sep 17 00:00:00 2001 From: Copybara Date: Fri, 11 Aug 2023 09:40:22 -0600 Subject: [PATCH] Project import generated by Copybara. GitOrigin-RevId: 5ef744439689185ee32a0fea7eeebd83cbb97d18 --- examples/feeds/01_feed_client/Cargo.toml | 4 +- examples/feeds/01_feed_client/package.json | 8 +- examples/feeds/02_spl_native/Cargo.toml | 4 +- examples/feeds/02_spl_native/package.json | 4 +- .../functions/01_basic_oracle/Anchor.toml | 18 +- examples/functions/01_basic_oracle/Cargo.lock | 182 +- examples/functions/01_basic_oracle/Cargo.toml | 5 +- .../functions/01_basic_oracle/package.json | 5 +- .../01_basic_oracle/scripts/devnet.ts | 58 +- .../01_basic_oracle/sgx-function/Cargo.lock | 734 ++- .../01_basic_oracle/sgx-function/Cargo.toml | 7 +- .../01_basic_oracle/sgx-function/Dockerfile | 17 +- .../sgx-function/Dockerfile.dev | 39 +- .../01_basic_oracle/sgx-function/Makefile | 31 +- .../01_basic_oracle/sgx-function/src/main.rs | 6 +- .../src/actions/set_function.rs | 3 +- examples/functions/01_basic_oracle/src/lib.rs | 5 +- .../01_basic_oracle/tests/basic_oracle.ts | 17 +- .../functions/02_liquidity_oracle/Cargo.lock | 8 +- .../functions/02_liquidity_oracle/Cargo.toml | 8 +- .../02_liquidity_oracle/package.json | 9 +- .../sgx-function/Cargo.lock | 20 +- .../sgx-function/Cargo.toml | 6 +- .../functions/03_candles_oracle/Cargo.lock | 8 +- .../functions/03_candles_oracle/Cargo.toml | 8 +- .../functions/03_candles_oracle/package.json | 9 +- .../03_candles_oracle/sgx-function/Cargo.lock | 20 +- .../03_candles_oracle/sgx-function/Cargo.toml | 6 +- .../04_randomness_callback/Anchor.toml | 45 +- .../04_randomness_callback/Cargo.lock | 593 +- .../04_randomness_callback/Cargo.toml | 35 +- .../custom_randomness_request => }/Xargo.toml | 0 .../04_randomness_callback/package.json | 9 +- .../custom_randomness_request/Cargo.toml | 21 - .../sgx-function/Cargo.lock | 353 +- .../sgx-function/Cargo.toml | 4 +- .../sgx-function/Dockerfile | 6 +- .../src/error.rs | 0 .../custom_randomness_request => }/src/lib.rs | 7 +- .../src/state.rs | 0 .../src/utils.rs | 0 .../tests/custom_randomness_request.ts | 35 +- .../functions/05_raffle_program/.gitignore | 24 + .../05_raffle_program/.prettierignore | 8 + .../functions/05_raffle_program/Anchor.toml | 42 + .../functions/05_raffle_program/Cargo.lock | 5162 ++++++++++++++++ .../functions/05_raffle_program/Cargo.toml | 32 + .../functions/05_raffle_program/Xargo.toml | 2 + .../functions/05_raffle_program/package.json | 23 + .../sgx-function/.dockerignore | 3 + .../05_raffle_program/sgx-function/Cargo.lock | 5495 +++++++++++++++++ .../05_raffle_program/sgx-function/Cargo.toml | 13 + .../05_raffle_program/sgx-function/Dockerfile | 25 + .../05_raffle_program/sgx-function/Makefile | 29 + .../05_raffle_program/sgx-function/README.md | 86 + .../sgx-function/src/main.rs | 20 + .../sgx-function/src/params.rs | 76 + .../src/actions/close_round.rs | 44 + .../src/actions/initialize.rs | 63 + .../05_raffle_program/src/actions/mod.rs | 8 + .../src/actions/start_round.rs | 109 + .../functions/05_raffle_program/src/error.rs | 18 + .../functions/05_raffle_program/src/lib.rs | 89 + .../05_raffle_program/tests/raffle-program.ts | 234 + .../05_raffle_program/tests/utils.ts | 16 + .../functions/05_raffle_program/tsconfig.json | 33 + examples/vrf/01_vrf_client/Cargo.toml | 4 +- examples/vrf/01_vrf_client/package.json | 4 +- javascript/solana.js/esbuild.js | 4 +- javascript/solana.js/package.json | 7 +- .../solana.js/scripts/generate-client.ts | 25 +- javascript/solana.js/scripts/tsconfig.json | 5 +- .../solana.js/src/accounts/functionAccount.ts | 11 - .../src/accounts/functionRequestAccount.ts | 2 + .../accounts/FunctionAccountData.ts | 36 +- .../attestation-program/errors/custom.ts | 16 +- .../types/FunctionInitParams.ts | 15 - .../FunctionRequestInitAndTriggerParams.ts | 11 + .../types/FunctionRequestTriggerParams.ts | 11 + .../types/FunctionRequestTriggerRound.ts | 14 +- .../types/FunctionSetConfigParams.ts | 18 - javascript/solana.js/tsconfig.base.json | 14 +- javascript/solana.js/tsconfig.json | 18 +- rust/switchboard-solana/Cargo.anchor27.lock | 454 +- rust/switchboard-solana/Cargo.anchor27.toml | 15 +- rust/switchboard-solana/Cargo.lock | 606 +- rust/switchboard-solana/Cargo.toml | 12 +- rust/switchboard-solana/README.md | 120 +- rust/switchboard-solana/publish.sh | 23 - rust/switchboard-solana/set-anchor.sh | 59 + .../accounts/attestation_queue.rs | 2 +- .../attestation_program/accounts/function.rs | 9 +- .../src/attestation_program/accounts/mod.rs | 4 +- ...unction_request.rs => request.anchor27.rs} | 63 +- .../attestation_program/accounts/request.rs | 347 ++ .../attestation_program/accounts/verifier.rs | 2 +- .../instructions/function_init.rs | 1 - .../instructions/function_set_config.rs | 1 - .../attestation_program/instructions/mod.rs | 7 +- ...trigger.rs => request_init_and_trigger.rs} | 5 + .../instructions/request_trigger.rs | 148 + .../src/client/function_runner.rs | 335 +- rust/switchboard-solana/src/client/mod.rs | 6 +- rust/switchboard-solana/src/instructions.rs | 4 +- rust/switchboard-solana/src/lib.rs | 52 +- .../src/oracle_program/accounts/aggregator.rs | 28 +- .../oracle_program/accounts/buffer_relayer.rs | 6 +- .../oracle_program/accounts/history_buffer.rs | 8 +- .../oracle_program/instructions/vrf_close.rs | 20 +- .../instructions/vrf_lite_close.rs | 20 +- .../vrf_lite_request_randomness.rs | 20 +- .../vrf_pool_request_randomness.rs | 24 +- .../instructions/vrf_request_randomness.rs | 24 +- 113 files changed, 14413 insertions(+), 2238 deletions(-) rename examples/functions/04_randomness_callback/{programs/custom_randomness_request => }/Xargo.toml (100%) delete mode 100644 examples/functions/04_randomness_callback/programs/custom_randomness_request/Cargo.toml rename examples/functions/04_randomness_callback/{programs/custom_randomness_request => }/src/error.rs (100%) rename examples/functions/04_randomness_callback/{programs/custom_randomness_request => }/src/lib.rs (98%) rename examples/functions/04_randomness_callback/{programs/custom_randomness_request => }/src/state.rs (100%) rename examples/functions/04_randomness_callback/{programs/custom_randomness_request => }/src/utils.rs (100%) create mode 100644 examples/functions/05_raffle_program/.gitignore create mode 100644 examples/functions/05_raffle_program/.prettierignore create mode 100644 examples/functions/05_raffle_program/Anchor.toml create mode 100644 examples/functions/05_raffle_program/Cargo.lock create mode 100644 examples/functions/05_raffle_program/Cargo.toml create mode 100644 examples/functions/05_raffle_program/Xargo.toml create mode 100644 examples/functions/05_raffle_program/package.json create mode 100644 examples/functions/05_raffle_program/sgx-function/.dockerignore create mode 100644 examples/functions/05_raffle_program/sgx-function/Cargo.lock create mode 100644 examples/functions/05_raffle_program/sgx-function/Cargo.toml create mode 100644 examples/functions/05_raffle_program/sgx-function/Dockerfile create mode 100644 examples/functions/05_raffle_program/sgx-function/Makefile create mode 100644 examples/functions/05_raffle_program/sgx-function/README.md create mode 100644 examples/functions/05_raffle_program/sgx-function/src/main.rs create mode 100644 examples/functions/05_raffle_program/sgx-function/src/params.rs create mode 100644 examples/functions/05_raffle_program/src/actions/close_round.rs create mode 100644 examples/functions/05_raffle_program/src/actions/initialize.rs create mode 100644 examples/functions/05_raffle_program/src/actions/mod.rs create mode 100644 examples/functions/05_raffle_program/src/actions/start_round.rs create mode 100644 examples/functions/05_raffle_program/src/error.rs create mode 100644 examples/functions/05_raffle_program/src/lib.rs create mode 100644 examples/functions/05_raffle_program/tests/raffle-program.ts create mode 100644 examples/functions/05_raffle_program/tests/utils.ts create mode 100644 examples/functions/05_raffle_program/tsconfig.json delete mode 100755 rust/switchboard-solana/publish.sh create mode 100755 rust/switchboard-solana/set-anchor.sh rename rust/switchboard-solana/src/attestation_program/accounts/{function_request.rs => request.anchor27.rs} (80%) create mode 100644 rust/switchboard-solana/src/attestation_program/accounts/request.rs rename rust/switchboard-solana/src/attestation_program/instructions/{function_request_init_and_trigger.rs => request_init_and_trigger.rs} (96%) create mode 100644 rust/switchboard-solana/src/attestation_program/instructions/request_trigger.rs diff --git a/examples/feeds/01_feed_client/Cargo.toml b/examples/feeds/01_feed_client/Cargo.toml index e9435f4c0..811b7c079 100644 --- a/examples/feeds/01_feed_client/Cargo.toml +++ b/examples/feeds/01_feed_client/Cargo.toml @@ -18,6 +18,6 @@ no-log-ix-name = [] cpi = ["no-entrypoint"] [dependencies] -# switchboard-solana = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../rust/switchboard-solana" } +# switchboard-solana = "0.28.4" +switchboard-solana = { version = "0.28.4", path = "../../../rust/switchboard-solana" } bytemuck = "1.13.1" diff --git a/examples/feeds/01_feed_client/package.json b/examples/feeds/01_feed_client/package.json index 7bca6e8b3..3c6bde369 100644 --- a/examples/feeds/01_feed_client/package.json +++ b/examples/feeds/01_feed_client/package.json @@ -16,11 +16,11 @@ "@coral-xyz/anchor": "^0.28.0", "@coral-xyz/borsh": "^0.28.0", "@project-serum/borsh": "^0.2.5", - "@solana/spl-token": "^0.3.6", - "@solana/web3.js": "^1.77.3", - "@switchboard-xyz/common": "latest", + "@solana/spl-token": "^0.3.8", + "@solana/web3.js": "^1.78.3", + "@switchboard-xyz/common": "^2.3.0", "@switchboard-xyz/oracle": "latest", - "@switchboard-xyz/solana.js": "workspace:latest", + "@switchboard-xyz/solana.js": "^2.5.0", "chalk": "^4.1.2", "dotenv": "^16.0.1", "yargs": "^17.5.1" diff --git a/examples/feeds/02_spl_native/Cargo.toml b/examples/feeds/02_spl_native/Cargo.toml index faa4ce3ba..4bf052196 100644 --- a/examples/feeds/02_spl_native/Cargo.toml +++ b/examples/feeds/02_spl_native/Cargo.toml @@ -13,5 +13,5 @@ name = "native_feed_parser" no-entrypoint = [] [dependencies] -# switchboard-solana = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../rust/switchboard-solana" } +# switchboard-solana = "0.28.4" +switchboard-solana = { version = "0.28.4", path = "../../../rust/switchboard-solana" } diff --git a/examples/feeds/02_spl_native/package.json b/examples/feeds/02_spl_native/package.json index 8c2601ac4..1ee64bc53 100644 --- a/examples/feeds/02_spl_native/package.json +++ b/examples/feeds/02_spl_native/package.json @@ -17,9 +17,9 @@ "dependencies": { "@coral-xyz/anchor": "^0.28.0", "@solana/web3.js": "^1.77.3", - "@switchboard-xyz/common": "latest", + "@switchboard-xyz/common": "^2.3.0", "@switchboard-xyz/oracle": "latest", - "@switchboard-xyz/solana.js": "workspace:latest" + "@switchboard-xyz/solana.js": "^2.5.0" }, "devDependencies": { "@types/chai": "^4.3.0", diff --git a/examples/functions/01_basic_oracle/Anchor.toml b/examples/functions/01_basic_oracle/Anchor.toml index eb83ba250..1dcc1d27c 100644 --- a/examples/functions/01_basic_oracle/Anchor.toml +++ b/examples/functions/01_basic_oracle/Anchor.toml @@ -6,27 +6,27 @@ seeds = false skip-lint = false [programs.localnet] -basic_oracle = "BkTMjFhosJ1xKtLMV2xchGtnTDBABLJ45aXzs7x9FdeX" +basic_oracle = "APWppEwwfddbooTUijn3oAVnQH6jkLDxW4JrTMbBoQXJ" [programs.devnet] -basic_oracle = "BkTMjFhosJ1xKtLMV2xchGtnTDBABLJ45aXzs7x9FdeX" +basic_oracle = "APWppEwwfddbooTUijn3oAVnQH6jkLDxW4JrTMbBoQXJ" [provider] -cluster = "https://api.devnet.solana.com" -# wallet = "~/switchboard_environments_v2/devnet/upgrade_authority/upgrade_authority.json" # cluster = "Localnet" -wallet = "~/.config/solana/id.json" +# wallet = "~/.config/solana/id.json" +cluster = "https://api.devnet.solana.com" +wallet = "~/switchboard_environments_v2/devnet/upgrade_authority/upgrade_authority.json" -# cluster = "devnet" [scripts] test = "pnpm exec ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts" -[test] -startup_wait = 15000 [test.validator] url = "https://api.devnet.solana.com" +[test] +startup_wait = 15000 + [[test.validator.clone]] # sb devnet oracle programID address = "SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f" @@ -46,4 +46,4 @@ address = "sbattyXrzedoNATfc4L31wC9Mhxsi1BmFhTiN8gDshx" address = "5ExuoQR69trmKQfB95fDsUGsUrrChbGq9PFgt8qouncz" [[test.validator.clone]] # sb devnet attestation State -address = "5MFs7RGTjLi1wtKNBFRtuLipCkkjs4YQwRRU9sjnbQbS" +address = "5MFs7RGTjLi1wtKNBFRtuLipCkkjs4YQwRRU9sjnbQbS" \ No newline at end of file diff --git a/examples/functions/01_basic_oracle/Cargo.lock b/examples/functions/01_basic_oracle/Cargo.lock index 0c5639fe4..86a29dbcd 100644 --- a/examples/functions/01_basic_oracle/Cargo.lock +++ b/examples/functions/01_basic_oracle/Cargo.lock @@ -589,7 +589,6 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" name = "basic_oracle" version = "0.1.0" dependencies = [ - "anchor-lang", "bytemuck", "switchboard-solana", ] @@ -1161,9 +1160,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ "darling_core", "darling_macro", @@ -1171,9 +1170,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", @@ -1185,9 +1184,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", "quote 1.0.29", @@ -1401,6 +1400,15 @@ dependencies = [ "termcolor", ] +[[package]] +name = "envy" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c028f575cd4e81de7353215965" +dependencies = [ + "serde", +] + [[package]] name = "errno" version = "0.3.1" @@ -1889,9 +1897,9 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" +checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" dependencies = [ "console", "instant", @@ -2450,9 +2458,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pbkdf2" @@ -2545,9 +2553,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794" +checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" [[package]] name = "ppv-lite86" @@ -2623,9 +2631,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445cbfe2382fa023c4f2f3c7e1c95c03dcc1df2bf23cebcb2b13e1402c4394d1" +checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ "bytes", "pin-project-lite", @@ -2641,9 +2649,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c" +checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" dependencies = [ "bytes", "rand 0.8.5", @@ -3361,9 +3369,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63c62ec28eaf2f4ef06f39d549230699068e9b2171a67a8232e11993ecb86dd" +checksum = "298accbe9b2bffc391081b94f30ec3dd5bac053bfcd09aa78c06f1f87d33ec1e" dependencies = [ "Inflector", "base64 0.21.2", @@ -3385,9 +3393,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ddbc426b2e0443c2e58c0ab721c93a788f0e97eb4f25340e4e50dd1e6978027" +checksum = "c026db45d6d8a21afe308fab93a40c77d21cb7a0f1f2fe4b99bb7bbcd7028ed7" dependencies = [ "bincode", "bytemuck", @@ -3406,9 +3414,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19777832c5623c5a1b642f35d847acaf7243124e8f4f300dbe9d387b05b4f78" +checksum = "d27f6ef67bb0519da2d7c7dd9f65c8e447a9a1c8330bb032b78d80712472fefd" dependencies = [ "chrono", "clap 2.34.0", @@ -3424,9 +3432,9 @@ dependencies = [ [[package]] name = "solana-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e3458b0fcf87b14560836a9dc1d0270fe1b4d70425235e91b94a74f4a614f0" +checksum = "13cf67b2f89d8ce5ce0b8c75baac79dc10b082cf096b149146724182db5506cf" dependencies = [ "async-trait", "bincode", @@ -3457,9 +3465,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac78caf77ffe8cc8c108b2e424f5e710f640777f3d78faf2ac7535008a39f5a" +checksum = "4065170279a38c1013fcf9c1776579914e7c30edb831f28dfd59f9d939d90f63" dependencies = [ "bincode", "chrono", @@ -3471,9 +3479,9 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "964e4b517d80543e9ff0676bb1700f5011e8588795f4e68fb8ab343c87eefad4" +checksum = "0a98001f5293720075b52faa7e05c78c33ffdcc23ed7dea2cad102ed4823d624" dependencies = [ "async-trait", "bincode", @@ -3492,9 +3500,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c272bd949536a92f0fc4d9572bf72b35b3545fc1f6ee031e44f9d075809055d" +checksum = "bee2b96d4150d9ebf55e903014bc332ac64c642837d7f1e6f7b911d709331380" dependencies = [ "ahash 0.8.3", "blake3", @@ -3525,9 +3533,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f84be4b6dd2cc4e8ad5baa54a23018c8936ec32322ebcffd88355631700292a" +checksum = "942534eb972f955ed186175495654cabece6261a8ac3211e5791440d40a1ed96" dependencies = [ "proc-macro2 1.0.63", "quote 1.0.29", @@ -3537,9 +3545,9 @@ dependencies = [ [[package]] name = "solana-logger" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3cb934e8c9015e86cd9c7382ea3083578d1c0813a351644cfdabe3009591b03" +checksum = "1339e1a179e2465e97fd89c2f70d5f00c5644f36c0e547b8ecda414c748dfc2c" dependencies = [ "env_logger", "lazy_static", @@ -3548,9 +3556,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a038b70fac9cd5529839efc258e6453f0018d34937a414cd030318916d6dba6" +checksum = "6b3feab384868634ea5d7a12fc62c001d5785b6a352b7903ad13edbb7d3043f3" dependencies = [ "log", "solana-sdk", @@ -3558,9 +3566,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca14a16eac701e20bda3e103e3d078074a18e83e126f90d918e141379eade8d" +checksum = "f31c1f2569ea75ee9aa73eedb948b17eabc468e6cd5c1aee4d9cdfaffb0f3d33" dependencies = [ "crossbeam-channel", "gethostname", @@ -3572,9 +3580,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "509c3d5bc7fe8dbcc25b3238d7cd4a0994c39207260b7b5271a3110ea0ac5f75" +checksum = "725a2f7335cc7ec5be356baaf44b0d3211f996b174e2a3b340227e700d26fc55" dependencies = [ "bincode", "clap 3.2.25", @@ -3594,9 +3602,9 @@ dependencies = [ [[package]] name = "solana-perf" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a65308af752a91eddf06c7b7bb5e5d6296ec8cd8de5a1cbebd61f53f45a808c" +checksum = "2048b4890677ec4287a205a0f53d6a9bf2bdbcc7046aeb665b2714e3c1a4e655" dependencies = [ "ahash 0.8.3", "bincode", @@ -3621,9 +3629,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476510cb86b9602a793582788f5e23a9cca11929d3880b7427a67142b1e4a430" +checksum = "2f81c59ed0b65b403cc5db459dd1214dfab89ccd3ce20aadf98102b072d08562" dependencies = [ "ark-bn254", "ark-ec", @@ -3635,6 +3643,7 @@ dependencies = [ "bitflags", "blake3", "borsh 0.10.3", + "borsh 0.9.3", "bs58 0.4.0", "bv", "bytemuck", @@ -3675,9 +3684,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8311e581ff6406c84ce8ed5d4f1316cf091f723b4823a1ece3e36be6cfb3d69c" +checksum = "bc8624325d63e9a643385739c53315d8768aff689dfa9ad06ed1c67aac163ab2" dependencies = [ "base64 0.21.2", "bincode", @@ -3703,9 +3712,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5274196946dfef625ec905f7834e7d45b8367364f8eaf99e2c754951da6b972d" +checksum = "b5e10c8caee33c14b74fa2e76f8d8638364303bbf4439e284fddf66b7e3a5acb" dependencies = [ "crossbeam-channel", "futures-util", @@ -3728,9 +3737,9 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b27ad60edef844f182cd7071e653731ec16b3a319524448935a1183f6b99b80" +checksum = "7173c8eb7b20a1c04838655760ba36e5a4398dc9cd16115a5321c7a56e6a34ff" dependencies = [ "async-mutex", "async-trait", @@ -3756,9 +3765,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "441bde92d8befd3a698e54c35bff63a396f1e3e5e85754d85a5308a8f5d0328a" +checksum = "fe5195e62d9457233f97f30aa678f71b1aaed2200a170e63f0da7d9a3d124aa3" dependencies = [ "lazy_static", "num_cpus", @@ -3766,9 +3775,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b8820ed78c726c9359248a8fb6456657ce6feca2ff31ffac1286f55bee99e8" +checksum = "04b5777335473d24b6edf9ca36129b1f8e07ba34de18e2b8d6285a4e3473260c" dependencies = [ "console", "dialoguer", @@ -3785,9 +3794,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baeb95820862d14c1391dfda9a3173b0509f1b17ebd1090b3778fac1743ab69" +checksum = "93d34afb705efdf62ad1a911beffe3c6d599eab2125bd07460e85a424636cb54" dependencies = [ "async-trait", "base64 0.21.2", @@ -3811,9 +3820,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29009927e289fc5ccd19cec05780dc8465eb65e52922087cf769e57d72c0b7b5" +checksum = "a9e28db9b3748bfe7367ef9e9b968be1643f63ab9c360e89681d426d036cf69a" dependencies = [ "base64 0.21.2", "bs58 0.4.0", @@ -3833,9 +3842,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df466014e9768f4741be00acea0067bde11a2ec1162a12ebf896960990a2e6b8" +checksum = "27c9c9f034bf3c931441a0fbb528b8e3bf417a32b70546e5fa0c00cd78559ff5" dependencies = [ "clap 2.34.0", "solana-clap-utils", @@ -3846,9 +3855,9 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "352b70bb14d8968d5484aa73a1aede3acc816f10a0b264c6599108c5dd6b647b" +checksum = "d23dbf6da55a2d191956c693d8490dc809799822536aceb11309043e9b622079" dependencies = [ "assert_matches", "base64 0.21.2", @@ -3899,9 +3908,9 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38a884c027b0759d0969efc1253f3b8798f9d5fbef2eb158cdb70763619d2f3" +checksum = "2e7d686e405694cd6510cd77bb87d0eeda64ad3df08d3293278ba47ca78b8e5e" dependencies = [ "bs58 0.4.0", "proc-macro2 1.0.63", @@ -3912,9 +3921,9 @@ dependencies = [ [[package]] name = "solana-streamer" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b87bd090a462765b6e3196e6c22cc0edebf8942fb4a6de9a807ce3d8d5d436" +checksum = "e40e74d6ae01dd21dc1a93a2213f8d7e04aea69079092a131ad5bd2d54aa16bc" dependencies = [ "async-channel", "bytes", @@ -3945,9 +3954,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8dc82e52a443249c5b1df3ddd7273306c81fde2c8057cc398e0fbd0fae7a47" +checksum = "34f3a1dae21f002f2d35ddfcc09fb528bc52936bb9fe4aea7bb46b1361998ed7" dependencies = [ "bincode", "log", @@ -3960,9 +3969,9 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a09c139e796337646ba4f013a849555f50d35ae7278461d685a429c29f6295f" +checksum = "5fffd371a68959dbbbb073198cd93121586da924a8dc493bd624a5ddf40a6742" dependencies = [ "async-trait", "bincode", @@ -3985,9 +3994,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284227b302a68b0c384f46cb95e5472d39e7c7094d6079c4e5bd2f133f6920ff" +checksum = "aeb3b1a35fc4718e758851670a959bb4736a8825f56c7ebfcd6eec892cbd200a" dependencies = [ "Inflector", "base64 0.21.2", @@ -4011,9 +4020,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23aa72c84646a65727b63ff2988147062a792b569591351f06c0e6014ca52de9" +checksum = "05fd1c52102c716767d32a6936843b0505ad61bad958b34bcff513fe609611e7" dependencies = [ "async-trait", "solana-connection-cache", @@ -4026,9 +4035,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "036b2c0f4b3dfbe48d96c0f5e9be0fadd019bf46327013475bbf3b8ae9870dfe" +checksum = "6b4f9750ce47f0a431338121a3247bd29665d6da5a8ebde8c5320503c98d8adc" dependencies = [ "log", "rustc_version", @@ -4042,9 +4051,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fe8c3382ac0c050c2224037fc8be990f713526e6b136f3a8da9464e2e1a506" +checksum = "258b4c3e62faaed0cd864b02760659e45fb4431a287ee0088ae79af891ae4786" dependencies = [ "bincode", "log", @@ -4064,9 +4073,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a4c38e1cf77cc046a48d0e515ec3fe654d9c3ba49790523f2d8fd28a5e51d3" +checksum = "c2d04eecf3a7438c95db28b57437e94f09a1e60377183d9bea0c9db84506f504" dependencies = [ "aes-gcm-siv", "base64 0.21.2", @@ -4216,10 +4225,9 @@ checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" [[package]] name = "switchboard-common" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a03303674fb73b1dbe6cfc83aa8faa0e99264472a47177a1803f7475b318d1" +version = "0.8.7" dependencies = [ + "envy", "getrandom 0.2.10", "hex", "serde", @@ -4230,9 +4238,7 @@ dependencies = [ [[package]] name = "switchboard-solana" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f5bea97fd6f8e8ce6872148000df6aaba5a45597f4342b95b1fef498aaf2566" +version = "0.28.4" dependencies = [ "anchor-client", "anchor-lang", @@ -4250,6 +4256,7 @@ dependencies = [ "superslice", "switchboard-common", "tokio", + "url", ] [[package]] @@ -4555,7 +4562,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", - "log", "pin-project-lite", "tracing-attributes", "tracing-core", diff --git a/examples/functions/01_basic_oracle/Cargo.toml b/examples/functions/01_basic_oracle/Cargo.toml index 0deed2945..7955f2395 100644 --- a/examples/functions/01_basic_oracle/Cargo.toml +++ b/examples/functions/01_basic_oracle/Cargo.toml @@ -19,7 +19,6 @@ cpi = ["no-entrypoint"] default = [] [dependencies] -# switchboard-solana = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../rust/switchboard-solana" } +# switchboard-solana = "0.28.4" +switchboard-solana = { version = "0.28.4", path = "../../../rust/switchboard-solana" } bytemuck = "^1" -anchor-lang = { version = "0.28.0" } diff --git a/examples/functions/01_basic_oracle/package.json b/examples/functions/01_basic_oracle/package.json index fad1ed62f..7894f5ce1 100644 --- a/examples/functions/01_basic_oracle/package.json +++ b/examples/functions/01_basic_oracle/package.json @@ -15,9 +15,8 @@ "@coral-xyz/anchor": "^0.28.0", "@solana/spl-token": "^0.3.6", "@solana/web3.js": "^1.78.0", - "@switchboard-xyz/common": "latest", - "@switchboard-xyz/oracle": "latest", - "@switchboard-xyz/solana.js": "workspace:latest" + "@switchboard-xyz/common": "^2.3.0", + "@switchboard-xyz/solana.js": "^2.5.0" }, "devDependencies": { "@types/bn.js": "^5.1.0", diff --git a/examples/functions/01_basic_oracle/scripts/devnet.ts b/examples/functions/01_basic_oracle/scripts/devnet.ts index 1198ce284..0aa01d737 100644 --- a/examples/functions/01_basic_oracle/scripts/devnet.ts +++ b/examples/functions/01_basic_oracle/scripts/devnet.ts @@ -1,9 +1,65 @@ #!/usr/bin/env tsx +import type { BasicOracle } from "../target/types/basic_oracle"; + import * as anchor from "@coral-xyz/anchor"; -import { BasicOracle } from "../target/types/basic_oracle"; +import { Connection, PublicKey } from "@solana/web3.js"; +import * as sb from "@switchboard-xyz/solana.js"; + +const functionPubkey = "Accb21tUCWocJea6Uk3DgrNZawgmKegDVeHw8cGMDPi5"; + +const rpcUrl = + "https://api.devnet.solana.com"; async function main() { + const provider = new anchor.AnchorProvider( + new Connection(rpcUrl), + new anchor.Wallet( + sb.loadKeypair( + "~/switchboard_environments_v2/devnet/upgrade_authority/upgrade_authority.json" + ) + ), + {} + ); + anchor.setProvider(provider); const program = anchor.workspace.BasicOracle as anchor.Program; + + console.log(`ProgramID: ${program.programId}`); + + const payer = (program.provider as anchor.AnchorProvider).publicKey; + + const programStatePubkey = anchor.web3.PublicKey.findProgramAddressSync( + [Buffer.from("BASICORACLE")], + program.programId + )[0]; + + const oraclePubkey = anchor.web3.PublicKey.findProgramAddressSync( + [Buffer.from("ORACLE_V1_SEED")], + program.programId + )[0]; + + console.log(`programState: ${programStatePubkey}`); + console.log(`oracle: ${oraclePubkey}`); + + // const tx = await program.methods + // .initialize({}) + // .accounts({ + // program: programStatePubkey, + // oracle: oraclePubkey, + // authority: payer, + // payer: payer, + // }) + // .rpc(); + // console.log("Your transaction signature", tx); + + const setFnTx = await program.methods + .setFunction({}) + .accounts({ + program: programStatePubkey, + function: new PublicKey(functionPubkey), + authority: payer, + }) + .rpc(); + console.log("Your transaction signature", setFnTx); } main().catch((err) => { diff --git a/examples/functions/01_basic_oracle/sgx-function/Cargo.lock b/examples/functions/01_basic_oracle/sgx-function/Cargo.lock index 0b7799d57..e69c0dbd1 100644 --- a/examples/functions/01_basic_oracle/sgx-function/Cargo.lock +++ b/examples/functions/01_basic_oracle/sgx-function/Cargo.lock @@ -109,8 +109,8 @@ checksum = "faa5be5b72abea167f87c868379ba3c2be356bfca9e6f474fd055fa0f7eeb4f2" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "regex", "syn 1.0.109", ] @@ -124,8 +124,8 @@ dependencies = [ "anchor-syn", "anyhow", "bs58 0.5.0", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustversion", "syn 1.0.109", ] @@ -137,7 +137,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59948e7f9ef8144c2aefb3f32a40c5fce2798baeec765ba038389e82301017ef" dependencies = [ "anchor-syn", - "proc-macro2 1.0.63", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -148,8 +148,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc753c9d1c7981cb8948cf7e162fb0f64558999c0413058e2d43df1df5448086" dependencies = [ "anchor-syn", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -161,8 +161,8 @@ checksum = "f38b4e172ba1b52078f53fdc9f11e3dc0668ad27997838a0aad2d148afac8c97" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -174,8 +174,8 @@ checksum = "4eebd21543606ab61e2d83d9da37d24d3886a49f390f9c43a1964735e8c0f0d5" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -206,8 +206,8 @@ checksum = "ec4720d899b3686396cced9508f23dab420f1308344456ec78ef76f98fda42af" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -217,8 +217,8 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f495e85480bd96ddeb77b71d499247c7d4e8b501e75ecb234e9ef7ae7bd6552a" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -268,8 +268,8 @@ dependencies = [ "anyhow", "bs58 0.5.0", "heck 0.3.3", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "serde", "serde_json", "sha2 0.10.7", @@ -303,9 +303,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" [[package]] name = "ark-bn254" @@ -361,7 +361,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" dependencies = [ - "quote 1.0.29", + "quote 1.0.32", "syn 1.0.109", ] @@ -373,8 +373,8 @@ checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ "num-bigint 0.4.3", "num-traits", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -409,8 +409,8 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -467,7 +467,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.22", + "time 0.3.25", ] [[package]] @@ -476,8 +476,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", "synstructure", ] @@ -488,8 +488,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -535,13 +535,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.71" +version = "0.1.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -593,7 +593,7 @@ dependencies = [ "futures", "serde", "serde_json", - "switchboard-solana 0.9.0", + "switchboard-solana", "switchboard-utils", "tokio", ] @@ -602,9 +602,8 @@ dependencies = [ name = "basic_oracle" version = "0.1.0" dependencies = [ - "anchor-lang", "bytemuck", - "switchboard-solana 0.9.1", + "switchboard-solana", ] [[package]] @@ -622,6 +621,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + [[package]] name = "bitmaps" version = "2.1.0" @@ -711,7 +716,7 @@ dependencies = [ "borsh-derive-internal 0.9.3", "borsh-schema-derive-internal 0.9.3", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.63", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -724,7 +729,7 @@ dependencies = [ "borsh-derive-internal 0.10.3", "borsh-schema-derive-internal 0.10.3", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.63", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -734,8 +739,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -745,8 +750,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -756,8 +761,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -767,8 +772,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -841,8 +846,8 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -861,9 +866,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -899,11 +904,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -945,7 +951,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim 0.8.0", "textwrap 0.11.0", "unicode-width", @@ -959,9 +965,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", - "bitflags", + "bitflags 1.3.2", "clap_lex", - "indexmap", + "indexmap 1.9.3", "once_cell", "strsim 0.10.0", "termcolor", @@ -1183,9 +1189,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ "darling_core", "darling_macro", @@ -1193,27 +1199,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "strsim 0.10.0", - "syn 2.0.23", + "syn 2.0.28", ] [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", - "quote 1.0.29", - "syn 2.0.23", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1245,6 +1251,12 @@ dependencies = [ "rusticata-macros", ] +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" + [[package]] name = "derivation-path" version = "0.2.0" @@ -1257,8 +1269,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -1300,9 +1312,9 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1371,9 +1383,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "encode_unicode" @@ -1405,9 +1417,9 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1423,11 +1435,17 @@ dependencies = [ "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.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -1452,12 +1470,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "feature-probe" @@ -1571,9 +1586,9 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1676,7 +1691,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 1.9.3", "slab", "tokio", "tokio-util", @@ -1719,6 +1734,12 @@ dependencies = [ "ahash 0.8.3", ] +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + [[package]] name = "heck" version = "0.3.3" @@ -1949,11 +1970,21 @@ dependencies = [ "hashbrown 0.12.3", ] +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + [[package]] name = "indicatif" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" +checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" dependencies = [ "console", "instant", @@ -1971,17 +2002,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.2", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" version = "2.8.0" @@ -1999,9 +2019,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" @@ -2023,9 +2043,9 @@ dependencies = [ [[package]] name = "jsonpath-rust" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7ea2fa3ba7d1404aa6b094aceec1d49106ec0110b40c40b76cedae148837a3b" +checksum = "2b55563e28c54b1cc0d7eb92475cf9e210cd58e2fce9fabbc0cb5bb1136b4ab3" dependencies = [ "pest", "pest_derive", @@ -2070,7 +2090,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" dependencies = [ "arrayvec 0.5.2", - "bitflags", + "bitflags 1.3.2", "cfg-if", "ryu", "static_assertions", @@ -2132,9 +2152,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" @@ -2270,7 +2290,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.7.1", @@ -2360,8 +2380,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2400,9 +2420,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -2442,8 +2462,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2454,9 +2474,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -2488,11 +2508,11 @@ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" [[package]] name = "openssl" -version = "0.10.55" +version = "0.10.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "foreign-types", "libc", @@ -2507,9 +2527,9 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -2520,9 +2540,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.90" +version = "0.9.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac" dependencies = [ "cc", "libc", @@ -2586,9 +2606,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pbkdf2" @@ -2634,9 +2654,9 @@ dependencies = [ [[package]] name = "pest" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9" +checksum = "1acb4a4365a13f749a93f1a094a7805e5cfa0955373a9de860d962eaa3a5fe5a" dependencies = [ "thiserror", "ucd-trie", @@ -2644,9 +2664,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b" +checksum = "666d00490d4ac815001da55838c500eafb0320019bbaa44444137c48b443a853" dependencies = [ "pest", "pest_generator", @@ -2654,22 +2674,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190" +checksum = "68ca01446f50dbda87c1786af8770d535423fa8a53aec03b8f4e3d7eb10e0929" dependencies = [ "pest", "pest_meta", - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] name = "pest_meta" -version = "2.7.0" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0" +checksum = "56af0a30af74d0445c0bf6d9d051c979b516a1a5af790d251daee76005420a48" dependencies = [ "once_cell", "pest", @@ -2683,14 +2703,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 1.9.3", ] [[package]] name = "pin-project-lite" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" [[package]] name = "pin-utils" @@ -2735,9 +2755,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794" +checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" [[package]] name = "ppv-lite86" @@ -2751,7 +2771,7 @@ version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" dependencies = [ - "proc-macro2 1.0.63", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -2785,9 +2805,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.63" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -2834,8 +2854,8 @@ checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", "itertools", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2863,8 +2883,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2874,7 +2894,7 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" dependencies = [ - "bitflags", + "bitflags 1.3.2", "memchr", "unicase", ] @@ -2899,9 +2919,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445cbfe2382fa023c4f2f3c7e1c95c03dcc1df2bf23cebcb2b13e1402c4394d1" +checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ "bytes", "pin-project-lite", @@ -2917,9 +2937,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c" +checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" dependencies = [ "bytes", "rand 0.8.5", @@ -2958,11 +2978,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ - "proc-macro2 1.0.63", + "proc-macro2 1.0.66", ] [[package]] @@ -3081,7 +3101,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.22", + "time 0.3.25", "yasna", ] @@ -3091,7 +3111,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -3100,14 +3120,14 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "regex" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" dependencies = [ "aho-corasick", "memchr", @@ -3117,9 +3137,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.2" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" dependencies = [ "aho-corasick", "memchr", @@ -3128,9 +3148,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "rend" @@ -3223,8 +3243,8 @@ version = "0.7.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -3251,13 +3271,12 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.30.0" +version = "1.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0446843641c69436765a35a5a77088e28c2e6a12da93e84aa3ab1cd4aa5a042" +checksum = "4a2ab0025103a60ecaaf3abf24db1db240a4e1c15837090d2c32f625ac98abea" dependencies = [ "arrayvec 0.7.4", "borsh 0.10.3", - "bytecheck", "byteorder", "bytes", "num-traits", @@ -3299,13 +3318,12 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" +version = "0.38.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "172891ebdceb05aa0005f533a6cbfca599ddd7d966f6f5d4d9b2e70478e70399" dependencies = [ - "bitflags", + "bitflags 2.3.3", "errno", - "io-lifetimes", "libc", "linux-raw-sys", "windows-sys 0.48.0", @@ -3346,15 +3364,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "schannel" @@ -3367,9 +3385,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scroll" @@ -3386,9 +3404,9 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -3409,11 +3427,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -3422,9 +3440,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -3432,44 +3450,44 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" [[package]] name = "serde" -version = "1.0.167" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daf513456463b42aa1d94cff7e0c24d682b429f020b9afa4f5ba5c40a22b237" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.11" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a16be4fe5320ade08736447e3198294a5ea9a6d44dde6f35f0a5e06859c427a" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.167" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b69b106b68bc8054f0e974e70d19984040f8a5cf9215ca82626ea4853f82c4b9" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.100" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -3505,9 +3523,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ "darling", - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -3640,9 +3658,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63c62ec28eaf2f4ef06f39d549230699068e9b2171a67a8232e11993ecb86dd" +checksum = "298accbe9b2bffc391081b94f30ec3dd5bac053bfcd09aa78c06f1f87d33ec1e" dependencies = [ "Inflector", "base64 0.21.2", @@ -3664,9 +3682,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ddbc426b2e0443c2e58c0ab721c93a788f0e97eb4f25340e4e50dd1e6978027" +checksum = "c026db45d6d8a21afe308fab93a40c77d21cb7a0f1f2fe4b99bb7bbcd7028ed7" dependencies = [ "bincode", "bytemuck", @@ -3685,9 +3703,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19777832c5623c5a1b642f35d847acaf7243124e8f4f300dbe9d387b05b4f78" +checksum = "d27f6ef67bb0519da2d7c7dd9f65c8e447a9a1c8330bb032b78d80712472fefd" dependencies = [ "chrono", "clap 2.34.0", @@ -3703,15 +3721,15 @@ dependencies = [ [[package]] name = "solana-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e3458b0fcf87b14560836a9dc1d0270fe1b4d70425235e91b94a74f4a614f0" +checksum = "13cf67b2f89d8ce5ce0b8c75baac79dc10b082cf096b149146724182db5506cf" dependencies = [ "async-trait", "bincode", "futures", "futures-util", - "indexmap", + "indexmap 1.9.3", "indicatif", "log", "quinn", @@ -3736,9 +3754,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac78caf77ffe8cc8c108b2e424f5e710f640777f3d78faf2ac7535008a39f5a" +checksum = "4065170279a38c1013fcf9c1776579914e7c30edb831f28dfd59f9d939d90f63" dependencies = [ "bincode", "chrono", @@ -3750,14 +3768,14 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "964e4b517d80543e9ff0676bb1700f5011e8588795f4e68fb8ab343c87eefad4" +checksum = "0a98001f5293720075b52faa7e05c78c33ffdcc23ed7dea2cad102ed4823d624" dependencies = [ "async-trait", "bincode", "futures-util", - "indexmap", + "indexmap 1.9.3", "log", "rand 0.7.3", "rayon", @@ -3771,9 +3789,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c272bd949536a92f0fc4d9572bf72b35b3545fc1f6ee031e44f9d075809055d" +checksum = "bee2b96d4150d9ebf55e903014bc332ac64c642837d7f1e6f7b911d709331380" dependencies = [ "ahash 0.8.3", "blake3", @@ -3804,21 +3822,21 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f84be4b6dd2cc4e8ad5baa54a23018c8936ec32322ebcffd88355631700292a" +checksum = "942534eb972f955ed186175495654cabece6261a8ac3211e5791440d40a1ed96" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustc_version", - "syn 2.0.23", + "syn 2.0.28", ] [[package]] name = "solana-logger" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3cb934e8c9015e86cd9c7382ea3083578d1c0813a351644cfdabe3009591b03" +checksum = "1339e1a179e2465e97fd89c2f70d5f00c5644f36c0e547b8ecda414c748dfc2c" dependencies = [ "env_logger", "lazy_static", @@ -3827,9 +3845,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a038b70fac9cd5529839efc258e6453f0018d34937a414cd030318916d6dba6" +checksum = "6b3feab384868634ea5d7a12fc62c001d5785b6a352b7903ad13edbb7d3043f3" dependencies = [ "log", "solana-sdk", @@ -3837,9 +3855,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca14a16eac701e20bda3e103e3d078074a18e83e126f90d918e141379eade8d" +checksum = "f31c1f2569ea75ee9aa73eedb948b17eabc468e6cd5c1aee4d9cdfaffb0f3d33" dependencies = [ "crossbeam-channel", "gethostname", @@ -3851,9 +3869,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "509c3d5bc7fe8dbcc25b3238d7cd4a0994c39207260b7b5271a3110ea0ac5f75" +checksum = "725a2f7335cc7ec5be356baaf44b0d3211f996b174e2a3b340227e700d26fc55" dependencies = [ "bincode", "clap 3.2.25", @@ -3873,9 +3891,9 @@ dependencies = [ [[package]] name = "solana-perf" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a65308af752a91eddf06c7b7bb5e5d6296ec8cd8de5a1cbebd61f53f45a808c" +checksum = "2048b4890677ec4287a205a0f53d6a9bf2bdbcc7046aeb665b2714e3c1a4e655" dependencies = [ "ahash 0.8.3", "bincode", @@ -3900,9 +3918,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476510cb86b9602a793582788f5e23a9cca11929d3880b7427a67142b1e4a430" +checksum = "2f81c59ed0b65b403cc5db459dd1214dfab89ccd3ce20aadf98102b072d08562" dependencies = [ "ark-bn254", "ark-ec", @@ -3911,9 +3929,10 @@ dependencies = [ "array-bytes", "base64 0.21.2", "bincode", - "bitflags", + "bitflags 1.3.2", "blake3", "borsh 0.10.3", + "borsh 0.9.3", "bs58 0.4.0", "bv", "bytemuck", @@ -3954,9 +3973,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8311e581ff6406c84ce8ed5d4f1316cf091f723b4823a1ece3e36be6cfb3d69c" +checksum = "bc8624325d63e9a643385739c53315d8768aff689dfa9ad06ed1c67aac163ab2" dependencies = [ "base64 0.21.2", "bincode", @@ -3982,9 +4001,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5274196946dfef625ec905f7834e7d45b8367364f8eaf99e2c754951da6b972d" +checksum = "b5e10c8caee33c14b74fa2e76f8d8638364303bbf4439e284fddf66b7e3a5acb" dependencies = [ "crossbeam-channel", "futures-util", @@ -4007,9 +4026,9 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b27ad60edef844f182cd7071e653731ec16b3a319524448935a1183f6b99b80" +checksum = "7173c8eb7b20a1c04838655760ba36e5a4398dc9cd16115a5321c7a56e6a34ff" dependencies = [ "async-mutex", "async-trait", @@ -4035,9 +4054,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "441bde92d8befd3a698e54c35bff63a396f1e3e5e85754d85a5308a8f5d0328a" +checksum = "fe5195e62d9457233f97f30aa678f71b1aaed2200a170e63f0da7d9a3d124aa3" dependencies = [ "lazy_static", "num_cpus", @@ -4045,9 +4064,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b8820ed78c726c9359248a8fb6456657ce6feca2ff31ffac1286f55bee99e8" +checksum = "04b5777335473d24b6edf9ca36129b1f8e07ba34de18e2b8d6285a4e3473260c" dependencies = [ "console", "dialoguer", @@ -4064,9 +4083,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baeb95820862d14c1391dfda9a3173b0509f1b17ebd1090b3778fac1743ab69" +checksum = "93d34afb705efdf62ad1a911beffe3c6d599eab2125bd07460e85a424636cb54" dependencies = [ "async-trait", "base64 0.21.2", @@ -4090,9 +4109,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29009927e289fc5ccd19cec05780dc8465eb65e52922087cf769e57d72c0b7b5" +checksum = "a9e28db9b3748bfe7367ef9e9b968be1643f63ab9c360e89681d426d036cf69a" dependencies = [ "base64 0.21.2", "bs58 0.4.0", @@ -4112,9 +4131,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df466014e9768f4741be00acea0067bde11a2ec1162a12ebf896960990a2e6b8" +checksum = "27c9c9f034bf3c931441a0fbb528b8e3bf417a32b70546e5fa0c00cd78559ff5" dependencies = [ "clap 2.34.0", "solana-clap-utils", @@ -4125,14 +4144,14 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "352b70bb14d8968d5484aa73a1aede3acc816f10a0b264c6599108c5dd6b647b" +checksum = "d23dbf6da55a2d191956c693d8490dc809799822536aceb11309043e9b622079" dependencies = [ "assert_matches", "base64 0.21.2", "bincode", - "bitflags", + "bitflags 1.3.2", "borsh 0.10.3", "bs58 0.4.0", "bytemuck", @@ -4178,29 +4197,29 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38a884c027b0759d0969efc1253f3b8798f9d5fbef2eb158cdb70763619d2f3" +checksum = "2e7d686e405694cd6510cd77bb87d0eeda64ad3df08d3293278ba47ca78b8e5e" dependencies = [ "bs58 0.4.0", - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustversion", - "syn 2.0.23", + "syn 2.0.28", ] [[package]] name = "solana-streamer" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b87bd090a462765b6e3196e6c22cc0edebf8942fb4a6de9a807ce3d8d5d436" +checksum = "e40e74d6ae01dd21dc1a93a2213f8d7e04aea69079092a131ad5bd2d54aa16bc" dependencies = [ "async-channel", "bytes", "crossbeam-channel", "futures-util", "histogram", - "indexmap", + "indexmap 1.9.3", "itertools", "libc", "log", @@ -4224,9 +4243,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8dc82e52a443249c5b1df3ddd7273306c81fde2c8057cc398e0fbd0fae7a47" +checksum = "34f3a1dae21f002f2d35ddfcc09fb528bc52936bb9fe4aea7bb46b1361998ed7" dependencies = [ "bincode", "log", @@ -4239,14 +4258,14 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a09c139e796337646ba4f013a849555f50d35ae7278461d685a429c29f6295f" +checksum = "5fffd371a68959dbbbb073198cd93121586da924a8dc493bd624a5ddf40a6742" dependencies = [ "async-trait", "bincode", "futures-util", - "indexmap", + "indexmap 1.9.3", "indicatif", "log", "rand 0.7.3", @@ -4264,9 +4283,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284227b302a68b0c384f46cb95e5472d39e7c7094d6079c4e5bd2f133f6920ff" +checksum = "aeb3b1a35fc4718e758851670a959bb4736a8825f56c7ebfcd6eec892cbd200a" dependencies = [ "Inflector", "base64 0.21.2", @@ -4290,9 +4309,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23aa72c84646a65727b63ff2988147062a792b569591351f06c0e6014ca52de9" +checksum = "05fd1c52102c716767d32a6936843b0505ad61bad958b34bcff513fe609611e7" dependencies = [ "async-trait", "solana-connection-cache", @@ -4305,9 +4324,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "036b2c0f4b3dfbe48d96c0f5e9be0fadd019bf46327013475bbf3b8ae9870dfe" +checksum = "6b4f9750ce47f0a431338121a3247bd29665d6da5a8ebde8c5320503c98d8adc" dependencies = [ "log", "rustc_version", @@ -4321,9 +4340,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fe8c3382ac0c050c2224037fc8be990f713526e6b136f3a8da9464e2e1a506" +checksum = "258b4c3e62faaed0cd864b02760659e45fb4431a287ee0088ae79af891ae4786" dependencies = [ "bincode", "log", @@ -4343,9 +4362,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a4c38e1cf77cc046a48d0e515ec3fe654d9c3ba49790523f2d8fd28a5e51d3" +checksum = "c2d04eecf3a7438c95db28b57437e94f09a1e60377183d9bea0c9db84506f504" dependencies = [ "aes-gcm-siv", "base64 0.21.2", @@ -4495,21 +4514,9 @@ checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" [[package]] name = "switchboard-common" -version = "0.8.5" -dependencies = [ - "getrandom 0.2.10", - "hex", - "serde", - "serde_json", - "sgx-quote", - "sha2 0.10.7", -] - -[[package]] -name = "switchboard-common" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a03303674fb73b1dbe6cfc83aa8faa0e99264472a47177a1803f7475b318d1" +checksum = "eaa7b85e2005ce058c626ce0d4d618dc18ca8f45a24bd66f3e11a6bf43f20082" dependencies = [ "getrandom 0.2.10", "hex", @@ -4521,9 +4528,9 @@ dependencies = [ [[package]] name = "switchboard-solana" -version = "0.9.0" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ef87bb9401fa2b28a328750a96f6c92307efeee3d76499fab92aa35b2214eb6" +checksum = "793a8429875a9386f07c10324119dfd20455cd9f22ee4a101a4731e94d122184" dependencies = [ "anchor-client", "anchor-lang", @@ -4539,29 +4546,7 @@ dependencies = [ "solana-client", "solana-program", "superslice", - "switchboard-common 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio", -] - -[[package]] -name = "switchboard-solana" -version = "0.9.1" -dependencies = [ - "anchor-client", - "anchor-lang", - "anchor-spl", - "bincode", - "bytemuck", - "chrono", - "cron", - "hex", - "rust_decimal", - "sgx-quote", - "solana-address-lookup-table-program", - "solana-client", - "solana-program", - "superslice", - "switchboard-common 0.8.5", + "switchboard-common", "tokio", ] @@ -4582,7 +4567,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "switchboard-common 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", + "switchboard-common", "tokio", "url", ] @@ -4604,19 +4589,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.23" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "unicode-ident", ] @@ -4626,8 +4611,8 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", "unicode-xid 0.2.4", ] @@ -4640,11 +4625,10 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.6.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" dependencies = [ - "autocfg", "cfg-if", "fastrand", "redox_syscall 0.3.5", @@ -4678,22 +4662,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -4709,10 +4693,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.22" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" dependencies = [ + "deranged", "itoa", "serde", "time-core", @@ -4727,9 +4712,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.9" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -4794,8 +4779,8 @@ version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -4872,17 +4857,17 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.1" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ab8ed2edee10b50132aed5f331333428b011c99402b5a534154ed15746f9622" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" [[package]] name = "toml_edit" -version = "0.19.8" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239410c8609e8125456927e6707163a3b1fdb40561e4b803bc041f466ccfdc13" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ - "indexmap", + "indexmap 2.0.0", "toml_datetime", "winnow", ] @@ -4900,7 +4885,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", - "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4912,9 +4896,9 @@ version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -4983,9 +4967,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -5074,9 +5058,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "uuid" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" [[package]] name = "vcpkg" @@ -5148,9 +5132,9 @@ dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", "wasm-bindgen-shared", ] @@ -5172,7 +5156,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.29", + "quote 1.0.32", "wasm-bindgen-macro-support", ] @@ -5182,9 +5166,9 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5424,9 +5408,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.4.1" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8970b36c66498d8ff1d66685dc86b91b29db0c7739899012f63a63814b4b28" +checksum = "acaaa1190073b2b101e15083c38ee8ec891b5e05cbee516521e94ec008f61e64" dependencies = [ "memchr", ] @@ -5464,7 +5448,7 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.22", + "time 0.3.25", ] [[package]] @@ -5473,7 +5457,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.22", + "time 0.3.25", ] [[package]] @@ -5491,9 +5475,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.63", - "quote 1.0.29", - "syn 2.0.23", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] diff --git a/examples/functions/01_basic_oracle/sgx-function/Cargo.toml b/examples/functions/01_basic_oracle/sgx-function/Cargo.toml index 26d61f946..94a5fd639 100644 --- a/examples/functions/01_basic_oracle/sgx-function/Cargo.toml +++ b/examples/functions/01_basic_oracle/sgx-function/Cargo.toml @@ -15,6 +15,7 @@ tokio = "^1" futures = "0.3" serde = "^1" serde_json = "^1" -switchboard-utils = { version = "0.8.0" } -# switchboard-solana = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../../rust/switchboard-solana" } \ No newline at end of file +# switchboard-solana = "0.28.4" +switchboard-utils = "0.8.0" +switchboard-solana = { version = "0.28.4", path = "../../../../rust/switchboard-solana" } +# switchboard-utils = { version = "0.8.0", path = "../../../../../../rust/switchboard-utils" } diff --git a/examples/functions/01_basic_oracle/sgx-function/Dockerfile b/examples/functions/01_basic_oracle/sgx-function/Dockerfile index a8e0261da..aa7e3219f 100644 --- a/examples/functions/01_basic_oracle/sgx-function/Dockerfile +++ b/examples/functions/01_basic_oracle/sgx-function/Dockerfile @@ -1,31 +1,32 @@ # syntax=docker/dockerfile:1.4 -FROM switchboardlabs/sgx-function:main AS builder +FROM switchboardlabs/sgx-function AS builder ARG CARGO_NAME=switchboard-function ENV CARGO_NAME=$CARGO_NAME WORKDIR /home/root/switchboard-function -COPY ./Anchor.toml ./Cargo.lock ./Cargo.toml ./ +COPY ./Cargo.lock ./Cargo.toml ./ COPY ./src ./src WORKDIR /home/root/switchboard-function/sgx-function COPY ./sgx-function/Cargo.lock ./sgx-function/Cargo.toml ./ COPY ./sgx-function/src ./src -RUN --mount=target=/home/root/.cargo/git,type=cache \ - --mount=target=/home/root/.cargo/registry,type=cache \ - --mount=type=cache,target=/home/root/switchboard-function/sgx-function/target \ +RUN --mount=type=cache,target=/usr/local/cargo/registry,id=${TARGETPLATFORM} \ + --mount=type=cache,target=target,id=${TARGETPLATFORM} \ cargo build --release && \ cargo strip && \ - mv target/release/basic-oracle-function /sgx/app + mv target/release/${CARGO_NAME} /sgx/app -FROM switchboardlabs/sgx-function:main +FROM switchboardlabs/sgx-function # Copy the binary WORKDIR /sgx COPY --from=builder /sgx/app /sgx # Get the measurement from the enclave -RUN /get_measurement.sh && cat /measurement.txt +RUN rm -f /measurement.txt && \ + /get_measurement.sh && \ + cat /measurement.txt ENTRYPOINT ["bash", "/boot.sh"] diff --git a/examples/functions/01_basic_oracle/sgx-function/Dockerfile.dev b/examples/functions/01_basic_oracle/sgx-function/Dockerfile.dev index f9dfa814e..dc5d689ef 100644 --- a/examples/functions/01_basic_oracle/sgx-function/Dockerfile.dev +++ b/examples/functions/01_basic_oracle/sgx-function/Dockerfile.dev @@ -2,43 +2,54 @@ FROM switchboardlabs/sgx-function AS builder ARG CARGO_NAME=switchboard-function +ENV CARGO_NAME=$CARGO_NAME WORKDIR /home/root/solana-sdk +COPY ./rust/switchboard-common/Cargo.toml \ + ./rust/switchboard-common/Cargo.lock \ + ./rust/switchboard-common/ + COPY ./rust/switchboard-solana/Cargo.toml \ ./rust/switchboard-solana/Cargo.lock \ ./rust/switchboard-solana/ -COPY ./examples/functions/01_basic_oracle/Cargo.toml \ - ./examples/functions/01_basic_oracle/Cargo.lock \ - ./examples/functions/01_basic_oracle/ +COPY ./chains/solana/examples/functions/01_basic_oracle/Cargo.toml \ + ./chains/solana/examples/functions/01_basic_oracle/Cargo.lock \ + ./chains/solana/examples/functions/01_basic_oracle/ + +COPY ./chains/solana/examples/functions/01_basic_oracle/sgx-function/Cargo.toml \ + ./chains/solana/examples/functions/01_basic_oracle/sgx-function/Cargo.lock \ + ./chains/solana/examples/functions/01_basic_oracle/sgx-function/ -COPY ./examples/functions/01_basic_oracle/sgx-function/Cargo.toml \ - ./examples/functions/01_basic_oracle/sgx-function/Cargo.lock \ - ./examples/functions/01_basic_oracle/sgx-function/ +COPY ./rust/switchboard-common/src \ + ./rust/switchboard-common/src/ COPY ./rust/switchboard-solana/src \ ./rust/switchboard-solana/src/ -COPY ./examples/functions/01_basic_oracle/src \ - ./examples/functions/01_basic_oracle/src/ +COPY ./chains/solana/examples/functions/01_basic_oracle/src \ + ./chains/solana/examples/functions/01_basic_oracle/src/ -COPY ./examples/functions/01_basic_oracle/sgx-function/src \ - ./examples/functions/01_basic_oracle/sgx-function/src/ +COPY ./chains/solana/examples/functions/01_basic_oracle/sgx-function/src \ + ./chains/solana/examples/functions/01_basic_oracle/sgx-function/src/ -WORKDIR /home/root/solana-sdk/examples/functions/01_basic_oracle/sgx-function +WORKDIR /home/root/solana-sdk/chains/solana/examples/functions/01_basic_oracle/sgx-function RUN --mount=type=cache,target=/usr/local/cargo/registry,id=${TARGETPLATFORM} --mount=type=cache,target=target,id=${TARGETPLATFORM} \ cargo build --release && \ cargo strip && \ - mv /home/root/solana-sdk/examples/functions/01_basic_oracle/sgx-function/target/release/${CARGO_NAME} /sgx + mv target/release/${CARGO_NAME} /sgx/app FROM switchboardlabs/sgx-function # Copy the binary WORKDIR /sgx -COPY --from=builder /sgx/${CARGO_NAME} /sgx/app +COPY --from=builder /sgx/app /sgx # Get the measurement from the enclave -RUN /get_measurement.sh +RUN rm -f /measurement.txt && \ + /get_measurement.sh && \ + cat /measurement.txt + ENTRYPOINT ["bash", "/boot.sh"] diff --git a/examples/functions/01_basic_oracle/sgx-function/Makefile b/examples/functions/01_basic_oracle/sgx-function/Makefile index 260bb76de..e686e949f 100644 --- a/examples/functions/01_basic_oracle/sgx-function/Makefile +++ b/examples/functions/01_basic_oracle/sgx-function/Makefile @@ -2,7 +2,7 @@ # Variables CARGO_NAME=basic-oracle-function -DOCKER_IMAGE_NAME=gallynaut/binance-oracle +DOCKER_IMAGE_NAME=${CONTAINER_NAME} DOCKER_BUILD_COMMAND=DOCKER_BUILDKIT=1 docker buildx build --platform linux/amd64 --build-arg CARGO_NAME=${CARGO_NAME} @@ -10,14 +10,16 @@ DOCKER_BUILD_COMMAND=DOCKER_BUILDKIT=1 docker buildx build --platform linux/amd6 all: build docker_build: - ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile -t ${DOCKER_IMAGE_NAME}:dev --load ../ + ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile -t ${DOCKER_IMAGE_NAME}:latest --load ../ + docker_publish: - ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile -t ${DOCKER_IMAGE_NAME} --push ../ + ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile -t ${DOCKER_IMAGE_NAME}:latest --push ../ dev_docker_build: - ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile.dev -t ${DOCKER_IMAGE_NAME}:dev --load ../../../../ + ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile.dev -t ${DOCKER_IMAGE_NAME}:latest --load ../../../../../../ + dev_docker_publish: - ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile.dev -t ${DOCKER_IMAGE_NAME} --push ../../../../ + ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile.dev -t ${DOCKER_IMAGE_NAME}:latest --push ../../../../../../ build: docker_build measurement @@ -25,22 +27,25 @@ dev: dev_docker_build measurement publish: docker_publish measurement -latest_mr_enclave: - @docker run -d --pull=always --platform=linux/amd64 --name=latest-my-switchboard-function ${DOCKER_IMAGE_NAME}:latest > /dev/null - @docker cp latest-my-switchboard-function:/measurement.txt latest-measurement.txt - @docker stop latest-my-switchboard-function > /dev/null - @docker rm latest-my-switchboard-function > /dev/null - echo "latest MrEnclave: $(cat measurement.txt)" +dev_publish: dev_docker_publish measurement measurement: - @docker run -d --platform=linux/amd64 --name=my-switchboard-function ${DOCKER_IMAGE_NAME}:dev > /dev/null + @docker run -d --platform=linux/amd64 --pull always -q --name=my-switchboard-function ${DOCKER_IMAGE_NAME}:latest > /dev/null @docker cp my-switchboard-function:/measurement.txt measurement.txt @docker stop my-switchboard-function > /dev/null @docker rm my-switchboard-function > /dev/null + @echo MrEnclave: $(shell cat ./measurement.txt) simulate: docker_build - docker run -it --platform=linux/amd64 --entrypoint=/bin/bash ${DOCKER_IMAGE_NAME}:dev /boot.sh --test + docker run -it --platform=linux/amd64 --entrypoint=/bin/bash ${DOCKER_IMAGE_NAME}:latest /boot.sh --test # Task to clean up the compiled rust application clean: cargo clean + +# latest_mr_enclave: +# @docker run -d --pull=always --platform=linux/amd64 --name=latest-my-switchboard-function ${DOCKER_IMAGE_NAME}:latest > /dev/null +# @docker cp latest-my-switchboard-function:/measurement.txt latest-measurement.txt +# @docker stop latest-my-switchboard-function > /dev/null +# @docker rm latest-my-switchboard-function > /dev/null +# @echo latest MrEnclave: $(shell rm ./latest-measurement.txt) \ No newline at end of file diff --git a/examples/functions/01_basic_oracle/sgx-function/src/main.rs b/examples/functions/01_basic_oracle/sgx-function/src/main.rs index a011fc0d0..3983807f6 100644 --- a/examples/functions/01_basic_oracle/sgx-function/src/main.rs +++ b/examples/functions/01_basic_oracle/sgx-function/src/main.rs @@ -11,13 +11,17 @@ pub use basic_oracle::{ #[tokio::main(worker_threads = 12)] async fn main() { // First, initialize the runner instance with a freshly generated Gramine keypair - let runner: FunctionRunner = FunctionRunner::new_from_cluster(Cluster::Devnet, None).unwrap(); + let runner: FunctionRunner = FunctionRunner::from_env(None).unwrap(); + + msg!("function runner loaded!"); // Then, write your own Rust logic and build a Vec of instructions. // Should be under 700 bytes after serialization let binance = Binance::fetch().await.unwrap(); let ixs: Vec = binance.to_ixns(&runner); + msg!("sending transaction"); + // Finally, emit the signed quote and partially signed transaction to the functionRunner oracle // The functionRunner oracle will use the last outputted word to stdout as the serialized result. This is what gets executed on-chain. runner.emit(ixs).await.unwrap(); diff --git a/examples/functions/01_basic_oracle/src/actions/set_function.rs b/examples/functions/01_basic_oracle/src/actions/set_function.rs index 460b17643..60c5c1a1b 100644 --- a/examples/functions/01_basic_oracle/src/actions/set_function.rs +++ b/examples/functions/01_basic_oracle/src/actions/set_function.rs @@ -13,7 +13,6 @@ pub struct SetFunction<'info> { pub function: AccountLoader<'info, FunctionAccountData>, - /// CHECK: pub authority: Signer<'info>, } @@ -34,4 +33,4 @@ impl SetFunction<'_> { program.function = ctx.accounts.function.key(); Ok(()) } -} +} \ No newline at end of file diff --git a/examples/functions/01_basic_oracle/src/lib.rs b/examples/functions/01_basic_oracle/src/lib.rs index 5786d7f42..fa791bde5 100644 --- a/examples/functions/01_basic_oracle/src/lib.rs +++ b/examples/functions/01_basic_oracle/src/lib.rs @@ -12,8 +12,7 @@ pub use model::*; pub mod utils; pub use utils::*; -// IDL 51F8RoK1RcduTxD8KsFGn4LUuHFnPTCf2PdAF5qEYoMU -declare_id!("BkTMjFhosJ1xKtLMV2xchGtnTDBABLJ45aXzs7x9FdeX"); +declare_id!("APWppEwwfddbooTUijn3oAVnQH6jkLDxW4JrTMbBoQXJ"); pub const PROGRAM_SEED: &[u8] = b"BASICORACLE"; @@ -54,4 +53,4 @@ pub mod basic_oracle { ) -> anchor_lang::Result<()> { TriggerFunction::actuate(&ctx, ¶ms) } -} +} \ No newline at end of file diff --git a/examples/functions/01_basic_oracle/tests/basic_oracle.ts b/examples/functions/01_basic_oracle/tests/basic_oracle.ts index f2419a6f4..d5664fdad 100644 --- a/examples/functions/01_basic_oracle/tests/basic_oracle.ts +++ b/examples/functions/01_basic_oracle/tests/basic_oracle.ts @@ -5,7 +5,7 @@ import { printLogs } from "./utils"; import type { Program } from "@coral-xyz/anchor"; import * as anchor from "@coral-xyz/anchor"; -import { sleep } from "@switchboard-xyz/common"; +import { parseRawMrEnclave, sleep } from "@switchboard-xyz/common"; import type { FunctionAccount, MrEnclave } from "@switchboard-xyz/solana.js"; import { SwitchboardWallet } from "@switchboard-xyz/solana.js"; import { @@ -13,7 +13,6 @@ import { AttestationQueueAccount, attestationTypes, type BootstrappedAttestationQueue, - parseMrEnclave, SwitchboardProgram, types, } from "@switchboard-xyz/solana.js"; @@ -22,24 +21,20 @@ const unixTimestamp = () => Math.floor(Date.now() / 1000); // vv1gTnfuUiroqgJHS4xsRASsRQqqixCv1su85VWvcP9 -const MRENCLAVE = parseMrEnclave( - Buffer.from("Y6keo0uTCiWDNcWwGjZ2jfTd4VFhrr6LC/6Mk1aiNCA=", "base64") +const MRENCLAVE = parseRawMrEnclave( + "0x44e8f2f806229322780fbddff3e46dd23896e3f00d630fbf026ce36314c0fee1", + true ); const emptyEnclave: number[] = new Array(32).fill(0); -function has_mr_enclave( - enclaves: Array, - unknown_enclave: MrEnclave -) { - return enclaves.includes(unknown_enclave); -} - describe("basic_oracle", () => { // Configure the client to use the local cluster. anchor.setProvider(anchor.AnchorProvider.env()); const program = anchor.workspace.BasicOracle as Program; + console.log(`ProgramID: ${program.programId}`); + const payer = (program.provider as anchor.AnchorProvider).publicKey; const programStatePubkey = anchor.web3.PublicKey.findProgramAddressSync( diff --git a/examples/functions/02_liquidity_oracle/Cargo.lock b/examples/functions/02_liquidity_oracle/Cargo.lock index 22246c045..60100f364 100644 --- a/examples/functions/02_liquidity_oracle/Cargo.lock +++ b/examples/functions/02_liquidity_oracle/Cargo.lock @@ -4216,9 +4216,7 @@ checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" [[package]] name = "switchboard-common" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a03303674fb73b1dbe6cfc83aa8faa0e99264472a47177a1803f7475b318d1" +version = "0.8.6" dependencies = [ "getrandom 0.2.10", "hex", @@ -4230,9 +4228,7 @@ dependencies = [ [[package]] name = "switchboard-solana" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b04503c979165d8ad5efe21bb63b9978cb70103f208fab1339aae7c38e94c62" +version = "0.28.1" dependencies = [ "anchor-client", "anchor-lang", diff --git a/examples/functions/02_liquidity_oracle/Cargo.toml b/examples/functions/02_liquidity_oracle/Cargo.toml index 49d2968c0..e67332777 100644 --- a/examples/functions/02_liquidity_oracle/Cargo.toml +++ b/examples/functions/02_liquidity_oracle/Cargo.toml @@ -19,10 +19,10 @@ cpi = ["no-entrypoint"] default = [] [dependencies] -# switchboard-solana = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../rust/switchboard-solana" } +switchboard-solana = "0.28.4" +# switchboard-solana = { version = "0.28.4", path = "../../../rust/switchboard-solana" } bytemuck = "^1" anchor-lang = { version = "0.28.0", features = [ "init-if-needed", - "allow-missing-optionals" -] } \ No newline at end of file + "allow-missing-optionals", +] } diff --git a/examples/functions/02_liquidity_oracle/package.json b/examples/functions/02_liquidity_oracle/package.json index aff36c9cb..112662def 100644 --- a/examples/functions/02_liquidity_oracle/package.json +++ b/examples/functions/02_liquidity_oracle/package.json @@ -12,11 +12,10 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@solana/spl-token": "^0.3.6", - "@solana/web3.js": "^1.78.0", - "@switchboard-xyz/common": "latest", - "@switchboard-xyz/oracle": "latest", - "@switchboard-xyz/solana.js": "workspace:latest" + "@solana/spl-token": "^0.3.8", + "@solana/web3.js": "^1.78.3", + "@switchboard-xyz/common": "^2.3.0", + "@switchboard-xyz/solana.js": "^2.5.0" }, "devDependencies": { "@types/bn.js": "^5.1.0", diff --git a/examples/functions/02_liquidity_oracle/sgx-function/Cargo.lock b/examples/functions/02_liquidity_oracle/sgx-function/Cargo.lock index 0163f7df1..013445d7b 100644 --- a/examples/functions/02_liquidity_oracle/sgx-function/Cargo.lock +++ b/examples/functions/02_liquidity_oracle/sgx-function/Cargo.lock @@ -4509,11 +4509,21 @@ dependencies = [ "sha2 0.10.7", ] +[[package]] +name = "switchboard-common" +version = "0.8.6" +dependencies = [ + "getrandom 0.2.10", + "hex", + "serde", + "serde_json", + "sgx-quote", + "sha2 0.10.7", +] + [[package]] name = "switchboard-solana" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b04503c979165d8ad5efe21bb63b9978cb70103f208fab1339aae7c38e94c62" +version = "0.28.1" dependencies = [ "anchor-client", "anchor-lang", @@ -4529,7 +4539,7 @@ dependencies = [ "solana-client", "solana-program", "superslice", - "switchboard-common", + "switchboard-common 0.8.6", "tokio", ] @@ -4550,7 +4560,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "switchboard-common", + "switchboard-common 0.8.5", "tokio", "url", ] diff --git a/examples/functions/02_liquidity_oracle/sgx-function/Cargo.toml b/examples/functions/02_liquidity_oracle/sgx-function/Cargo.toml index bc9be86de..53335ed25 100644 --- a/examples/functions/02_liquidity_oracle/sgx-function/Cargo.toml +++ b/examples/functions/02_liquidity_oracle/sgx-function/Cargo.toml @@ -16,7 +16,7 @@ futures = "0.3" serde = "^1" serde_json = "^1" switchboard-utils = { version = "0.8.0" } -# switchboard-solana = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../../rust/switchboard-solana" } +switchboard-solana = "0.28.4" +# switchboard-solana = { version = "0.28.4", path = "../../../../rust/switchboard-solana" } bytemuck = "1.13.1" -rust_decimal = "1.30.0" \ No newline at end of file +rust_decimal = "1.30.0" diff --git a/examples/functions/03_candles_oracle/Cargo.lock b/examples/functions/03_candles_oracle/Cargo.lock index 22246c045..60100f364 100644 --- a/examples/functions/03_candles_oracle/Cargo.lock +++ b/examples/functions/03_candles_oracle/Cargo.lock @@ -4216,9 +4216,7 @@ checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" [[package]] name = "switchboard-common" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a03303674fb73b1dbe6cfc83aa8faa0e99264472a47177a1803f7475b318d1" +version = "0.8.6" dependencies = [ "getrandom 0.2.10", "hex", @@ -4230,9 +4228,7 @@ dependencies = [ [[package]] name = "switchboard-solana" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b04503c979165d8ad5efe21bb63b9978cb70103f208fab1339aae7c38e94c62" +version = "0.28.1" dependencies = [ "anchor-client", "anchor-lang", diff --git a/examples/functions/03_candles_oracle/Cargo.toml b/examples/functions/03_candles_oracle/Cargo.toml index 49d2968c0..e67332777 100644 --- a/examples/functions/03_candles_oracle/Cargo.toml +++ b/examples/functions/03_candles_oracle/Cargo.toml @@ -19,10 +19,10 @@ cpi = ["no-entrypoint"] default = [] [dependencies] -# switchboard-solana = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../rust/switchboard-solana" } +switchboard-solana = "0.28.4" +# switchboard-solana = { version = "0.28.4", path = "../../../rust/switchboard-solana" } bytemuck = "^1" anchor-lang = { version = "0.28.0", features = [ "init-if-needed", - "allow-missing-optionals" -] } \ No newline at end of file + "allow-missing-optionals", +] } diff --git a/examples/functions/03_candles_oracle/package.json b/examples/functions/03_candles_oracle/package.json index 35ed5fc10..dadefe0b8 100644 --- a/examples/functions/03_candles_oracle/package.json +++ b/examples/functions/03_candles_oracle/package.json @@ -12,11 +12,10 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.28.0", - "@solana/spl-token": "^0.3.6", - "@solana/web3.js": "^1.78.0", - "@switchboard-xyz/common": "latest", - "@switchboard-xyz/oracle": "latest", - "@switchboard-xyz/solana.js": "workspace:latest" + "@solana/spl-token": "^0.3.8", + "@solana/web3.js": "^1.78.3", + "@switchboard-xyz/common": "^2.3.0", + "@switchboard-xyz/solana.js": "^2.5.0" }, "devDependencies": { "@types/bn.js": "^5.1.0", diff --git a/examples/functions/03_candles_oracle/sgx-function/Cargo.lock b/examples/functions/03_candles_oracle/sgx-function/Cargo.lock index 0163f7df1..013445d7b 100644 --- a/examples/functions/03_candles_oracle/sgx-function/Cargo.lock +++ b/examples/functions/03_candles_oracle/sgx-function/Cargo.lock @@ -4509,11 +4509,21 @@ dependencies = [ "sha2 0.10.7", ] +[[package]] +name = "switchboard-common" +version = "0.8.6" +dependencies = [ + "getrandom 0.2.10", + "hex", + "serde", + "serde_json", + "sgx-quote", + "sha2 0.10.7", +] + [[package]] name = "switchboard-solana" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b04503c979165d8ad5efe21bb63b9978cb70103f208fab1339aae7c38e94c62" +version = "0.28.1" dependencies = [ "anchor-client", "anchor-lang", @@ -4529,7 +4539,7 @@ dependencies = [ "solana-client", "solana-program", "superslice", - "switchboard-common", + "switchboard-common 0.8.6", "tokio", ] @@ -4550,7 +4560,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "switchboard-common", + "switchboard-common 0.8.5", "tokio", "url", ] diff --git a/examples/functions/03_candles_oracle/sgx-function/Cargo.toml b/examples/functions/03_candles_oracle/sgx-function/Cargo.toml index bc9be86de..53335ed25 100644 --- a/examples/functions/03_candles_oracle/sgx-function/Cargo.toml +++ b/examples/functions/03_candles_oracle/sgx-function/Cargo.toml @@ -16,7 +16,7 @@ futures = "0.3" serde = "^1" serde_json = "^1" switchboard-utils = { version = "0.8.0" } -# switchboard-solana = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../../rust/switchboard-solana" } +switchboard-solana = "0.28.4" +# switchboard-solana = { version = "0.28.4", path = "../../../../rust/switchboard-solana" } bytemuck = "1.13.1" -rust_decimal = "1.30.0" \ No newline at end of file +rust_decimal = "1.30.0" diff --git a/examples/functions/04_randomness_callback/Anchor.toml b/examples/functions/04_randomness_callback/Anchor.toml index da0489821..f46e4ee55 100644 --- a/examples/functions/04_randomness_callback/Anchor.toml +++ b/examples/functions/04_randomness_callback/Anchor.toml @@ -1,3 +1,6 @@ +[workspace] +members = ["."] + [features] seeds = false skip-lint = false @@ -8,40 +11,38 @@ custom_randomness_request = "Csx5AU83fPiaSChJUBZg2cW9GcCVVwZ4rwFqDA2pomX2" [programs.devnet] custom_randomness_request = "Csx5AU83fPiaSChJUBZg2cW9GcCVVwZ4rwFqDA2pomX2" -[registry] -url = "https://api.apr.dev" - [provider] cluster = "Localnet" +wallet = "~/.config/solana/id.json" # cluster = "https://api.devnet.solana.com" -wallet = "~/switchboard_environments_v2/devnet/upgrade_authority/upgrade_authority.json" +# wallet = "~/switchboard_environments_v2/devnet/upgrade_authority/upgrade_authority.json" [scripts] test = "pnpm exec ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts" -[test.validator] -url = "https://api.devnet.solana.com" +# [test.validator] +# url = "https://api.devnet.solana.com" -[test] -startup_wait = 15000 +# [test] +# startup_wait = 15000 -[[test.validator.clone]] # sb devnet oracle programID -address = "SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f" +# [[test.validator.clone]] # sb devnet oracle programID +# address = "SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f" -[[test.validator.clone]] # sb devnet oracle IDL -address = "Fi8vncGpNKbq62gPo56G4toCehWNy77GgqGkTaAF5Lkk" +# [[test.validator.clone]] # sb devnet oracle IDL +# address = "Fi8vncGpNKbq62gPo56G4toCehWNy77GgqGkTaAF5Lkk" -[[test.validator.clone]] # sb devnet oracle SbState -address = "CyZuD7RPDcrqCGbNvLCyqk6Py9cEZTKmNKujfPi3ynDd" +# [[test.validator.clone]] # sb devnet oracle SbState +# address = "CyZuD7RPDcrqCGbNvLCyqk6Py9cEZTKmNKujfPi3ynDd" -[[test.validator.clone]] # sb devnet oracle tokenVault -address = "7hkp1xfPBcD2t1vZMoWWQPzipHVcXeLAAaiGXdPSfDie" +# [[test.validator.clone]] # sb devnet oracle tokenVault +# address = "7hkp1xfPBcD2t1vZMoWWQPzipHVcXeLAAaiGXdPSfDie" -[[test.validator.clone]] # sb devnet attestation programID -address = "sbattyXrzedoNATfc4L31wC9Mhxsi1BmFhTiN8gDshx" +# [[test.validator.clone]] # sb devnet attestation programID +# address = "sbattyXrzedoNATfc4L31wC9Mhxsi1BmFhTiN8gDshx" -[[test.validator.clone]] # sb devnet attestation IDL -address = "5ExuoQR69trmKQfB95fDsUGsUrrChbGq9PFgt8qouncz" +# [[test.validator.clone]] # sb devnet attestation IDL +# address = "5ExuoQR69trmKQfB95fDsUGsUrrChbGq9PFgt8qouncz" -[[test.validator.clone]] # sb devnet programState -address = "5MFs7RGTjLi1wtKNBFRtuLipCkkjs4YQwRRU9sjnbQbS" +# [[test.validator.clone]] # sb devnet programState +# address = "5MFs7RGTjLi1wtKNBFRtuLipCkkjs4YQwRRU9sjnbQbS" diff --git a/examples/functions/04_randomness_callback/Cargo.lock b/examples/functions/04_randomness_callback/Cargo.lock index 9d81e594f..3d44b2abf 100644 --- a/examples/functions/04_randomness_callback/Cargo.lock +++ b/examples/functions/04_randomness_callback/Cargo.lock @@ -109,8 +109,8 @@ checksum = "faa5be5b72abea167f87c868379ba3c2be356bfca9e6f474fd055fa0f7eeb4f2" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "regex", "syn 1.0.109", ] @@ -124,8 +124,8 @@ dependencies = [ "anchor-syn", "anyhow", "bs58 0.5.0", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustversion", "syn 1.0.109", ] @@ -137,7 +137,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59948e7f9ef8144c2aefb3f32a40c5fce2798baeec765ba038389e82301017ef" dependencies = [ "anchor-syn", - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -148,8 +148,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc753c9d1c7981cb8948cf7e162fb0f64558999c0413058e2d43df1df5448086" dependencies = [ "anchor-syn", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -161,8 +161,8 @@ checksum = "f38b4e172ba1b52078f53fdc9f11e3dc0668ad27997838a0aad2d148afac8c97" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -174,8 +174,8 @@ checksum = "4eebd21543606ab61e2d83d9da37d24d3886a49f390f9c43a1964735e8c0f0d5" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -206,8 +206,8 @@ checksum = "ec4720d899b3686396cced9508f23dab420f1308344456ec78ef76f98fda42af" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -217,8 +217,8 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f495e85480bd96ddeb77b71d499247c7d4e8b501e75ecb234e9ef7ae7bd6552a" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -268,8 +268,8 @@ dependencies = [ "anyhow", "bs58 0.5.0", "heck", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "serde", "serde_json", "sha2 0.10.7", @@ -303,9 +303,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" [[package]] name = "ark-bn254" @@ -361,7 +361,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" dependencies = [ - "quote 1.0.29", + "quote 1.0.32", "syn 1.0.109", ] @@ -373,8 +373,8 @@ checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ "num-bigint 0.4.3", "num-traits", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -409,8 +409,8 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -467,7 +467,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -476,8 +476,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", "synstructure", ] @@ -488,8 +488,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -535,13 +535,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.71" +version = "0.1.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -600,6 +600,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + [[package]] name = "bitmaps" version = "2.1.0" @@ -689,7 +695,7 @@ dependencies = [ "borsh-derive-internal 0.9.3", "borsh-schema-derive-internal 0.9.3", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -702,7 +708,7 @@ dependencies = [ "borsh-derive-internal 0.10.3", "borsh-schema-derive-internal 0.10.3", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -712,8 +718,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -723,8 +729,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -734,8 +740,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -745,8 +751,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -819,8 +825,8 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -839,9 +845,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -868,11 +874,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -914,7 +921,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim 0.8.0", "textwrap 0.11.0", "unicode-width", @@ -928,7 +935,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", - "bitflags", + "bitflags 1.3.2", "clap_lex", "indexmap 1.9.3", "once_cell", @@ -1151,7 +1158,7 @@ dependencies = [ ] [[package]] -name = "custom_randomness_request" +name = "custom-randomness-request" version = "0.1.0" dependencies = [ "anchor-spl", @@ -1161,9 +1168,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ "darling_core", "darling_macro", @@ -1171,27 +1178,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "strsim 0.10.0", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", - "quote 1.0.29", - "syn 2.0.25", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1223,6 +1230,12 @@ dependencies = [ "rusticata-macros", ] +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" + [[package]] name = "derivation-path" version = "0.2.0" @@ -1235,8 +1248,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -1278,9 +1291,9 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1349,9 +1362,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "encode_unicode" @@ -1383,9 +1396,9 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1409,9 +1422,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -1436,12 +1449,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "feature-probe" @@ -1534,9 +1544,9 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1911,9 +1921,9 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" +checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" dependencies = [ "console", "instant", @@ -1931,17 +1941,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.2", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" version = "2.8.0" @@ -1959,9 +1958,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" @@ -2018,7 +2017,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" dependencies = [ "arrayvec 0.5.2", - "bitflags", + "bitflags 1.3.2", "cfg-if", "ryu", "static_assertions", @@ -2080,9 +2079,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" @@ -2194,7 +2193,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.7.1", @@ -2284,8 +2283,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2324,9 +2323,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -2366,8 +2365,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2378,9 +2377,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -2472,9 +2471,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pbkdf2" @@ -2520,9 +2519,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" [[package]] name = "pin-utils" @@ -2567,9 +2566,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794" +checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" [[package]] name = "ppv-lite86" @@ -2607,9 +2606,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.64" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -2629,8 +2628,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2645,9 +2644,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445cbfe2382fa023c4f2f3c7e1c95c03dcc1df2bf23cebcb2b13e1402c4394d1" +checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ "bytes", "pin-project-lite", @@ -2663,9 +2662,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c" +checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" dependencies = [ "bytes", "rand 0.8.5", @@ -2704,11 +2703,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", ] [[package]] @@ -2827,7 +2826,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.23", + "time 0.3.25", "yasna", ] @@ -2837,7 +2836,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2846,14 +2845,14 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "regex" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" dependencies = [ "aho-corasick", "memchr", @@ -2863,9 +2862,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.2" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" dependencies = [ "aho-corasick", "memchr", @@ -2966,8 +2965,8 @@ version = "0.7.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2994,13 +2993,12 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.30.0" +version = "1.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0446843641c69436765a35a5a77088e28c2e6a12da93e84aa3ab1cd4aa5a042" +checksum = "4a2ab0025103a60ecaaf3abf24db1db240a4e1c15837090d2c32f625ac98abea" dependencies = [ "arrayvec 0.7.4", "borsh 0.10.3", - "bytecheck", "byteorder", "bytes", "num-traits", @@ -3042,13 +3040,12 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" +version = "0.38.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "172891ebdceb05aa0005f533a6cbfca599ddd7d966f6f5d4d9b2e70478e70399" dependencies = [ - "bitflags", + "bitflags 2.3.3", "errno", - "io-lifetimes", "libc", "linux-raw-sys", "windows-sys 0.48.0", @@ -3089,15 +3086,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "schannel" @@ -3110,9 +3107,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scroll" @@ -3129,9 +3126,9 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -3152,11 +3149,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -3165,9 +3162,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -3175,44 +3172,44 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" [[package]] name = "serde" -version = "1.0.171" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.11" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a16be4fe5320ade08736447e3198294a5ea9a6d44dde6f35f0a5e06859c427a" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.171" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.100" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -3248,9 +3245,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ "darling", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -3383,9 +3380,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63c62ec28eaf2f4ef06f39d549230699068e9b2171a67a8232e11993ecb86dd" +checksum = "298accbe9b2bffc391081b94f30ec3dd5bac053bfcd09aa78c06f1f87d33ec1e" dependencies = [ "Inflector", "base64 0.21.2", @@ -3407,9 +3404,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ddbc426b2e0443c2e58c0ab721c93a788f0e97eb4f25340e4e50dd1e6978027" +checksum = "c026db45d6d8a21afe308fab93a40c77d21cb7a0f1f2fe4b99bb7bbcd7028ed7" dependencies = [ "bincode", "bytemuck", @@ -3428,9 +3425,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19777832c5623c5a1b642f35d847acaf7243124e8f4f300dbe9d387b05b4f78" +checksum = "d27f6ef67bb0519da2d7c7dd9f65c8e447a9a1c8330bb032b78d80712472fefd" dependencies = [ "chrono", "clap 2.34.0", @@ -3446,9 +3443,9 @@ dependencies = [ [[package]] name = "solana-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e3458b0fcf87b14560836a9dc1d0270fe1b4d70425235e91b94a74f4a614f0" +checksum = "13cf67b2f89d8ce5ce0b8c75baac79dc10b082cf096b149146724182db5506cf" dependencies = [ "async-trait", "bincode", @@ -3479,9 +3476,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac78caf77ffe8cc8c108b2e424f5e710f640777f3d78faf2ac7535008a39f5a" +checksum = "4065170279a38c1013fcf9c1776579914e7c30edb831f28dfd59f9d939d90f63" dependencies = [ "bincode", "chrono", @@ -3493,9 +3490,9 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "964e4b517d80543e9ff0676bb1700f5011e8588795f4e68fb8ab343c87eefad4" +checksum = "0a98001f5293720075b52faa7e05c78c33ffdcc23ed7dea2cad102ed4823d624" dependencies = [ "async-trait", "bincode", @@ -3514,9 +3511,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c272bd949536a92f0fc4d9572bf72b35b3545fc1f6ee031e44f9d075809055d" +checksum = "bee2b96d4150d9ebf55e903014bc332ac64c642837d7f1e6f7b911d709331380" dependencies = [ "ahash 0.8.3", "blake3", @@ -3547,21 +3544,21 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f84be4b6dd2cc4e8ad5baa54a23018c8936ec32322ebcffd88355631700292a" +checksum = "942534eb972f955ed186175495654cabece6261a8ac3211e5791440d40a1ed96" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustc_version", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] name = "solana-logger" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3cb934e8c9015e86cd9c7382ea3083578d1c0813a351644cfdabe3009591b03" +checksum = "1339e1a179e2465e97fd89c2f70d5f00c5644f36c0e547b8ecda414c748dfc2c" dependencies = [ "env_logger", "lazy_static", @@ -3570,9 +3567,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a038b70fac9cd5529839efc258e6453f0018d34937a414cd030318916d6dba6" +checksum = "6b3feab384868634ea5d7a12fc62c001d5785b6a352b7903ad13edbb7d3043f3" dependencies = [ "log", "solana-sdk", @@ -3580,9 +3577,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca14a16eac701e20bda3e103e3d078074a18e83e126f90d918e141379eade8d" +checksum = "f31c1f2569ea75ee9aa73eedb948b17eabc468e6cd5c1aee4d9cdfaffb0f3d33" dependencies = [ "crossbeam-channel", "gethostname", @@ -3594,9 +3591,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "509c3d5bc7fe8dbcc25b3238d7cd4a0994c39207260b7b5271a3110ea0ac5f75" +checksum = "725a2f7335cc7ec5be356baaf44b0d3211f996b174e2a3b340227e700d26fc55" dependencies = [ "bincode", "clap 3.2.25", @@ -3616,9 +3613,9 @@ dependencies = [ [[package]] name = "solana-perf" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a65308af752a91eddf06c7b7bb5e5d6296ec8cd8de5a1cbebd61f53f45a808c" +checksum = "2048b4890677ec4287a205a0f53d6a9bf2bdbcc7046aeb665b2714e3c1a4e655" dependencies = [ "ahash 0.8.3", "bincode", @@ -3643,9 +3640,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476510cb86b9602a793582788f5e23a9cca11929d3880b7427a67142b1e4a430" +checksum = "2f81c59ed0b65b403cc5db459dd1214dfab89ccd3ce20aadf98102b072d08562" dependencies = [ "ark-bn254", "ark-ec", @@ -3654,9 +3651,10 @@ dependencies = [ "array-bytes", "base64 0.21.2", "bincode", - "bitflags", + "bitflags 1.3.2", "blake3", "borsh 0.10.3", + "borsh 0.9.3", "bs58 0.4.0", "bv", "bytemuck", @@ -3697,9 +3695,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8311e581ff6406c84ce8ed5d4f1316cf091f723b4823a1ece3e36be6cfb3d69c" +checksum = "bc8624325d63e9a643385739c53315d8768aff689dfa9ad06ed1c67aac163ab2" dependencies = [ "base64 0.21.2", "bincode", @@ -3725,9 +3723,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5274196946dfef625ec905f7834e7d45b8367364f8eaf99e2c754951da6b972d" +checksum = "b5e10c8caee33c14b74fa2e76f8d8638364303bbf4439e284fddf66b7e3a5acb" dependencies = [ "crossbeam-channel", "futures-util", @@ -3750,9 +3748,9 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b27ad60edef844f182cd7071e653731ec16b3a319524448935a1183f6b99b80" +checksum = "7173c8eb7b20a1c04838655760ba36e5a4398dc9cd16115a5321c7a56e6a34ff" dependencies = [ "async-mutex", "async-trait", @@ -3778,9 +3776,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "441bde92d8befd3a698e54c35bff63a396f1e3e5e85754d85a5308a8f5d0328a" +checksum = "fe5195e62d9457233f97f30aa678f71b1aaed2200a170e63f0da7d9a3d124aa3" dependencies = [ "lazy_static", "num_cpus", @@ -3788,9 +3786,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b8820ed78c726c9359248a8fb6456657ce6feca2ff31ffac1286f55bee99e8" +checksum = "04b5777335473d24b6edf9ca36129b1f8e07ba34de18e2b8d6285a4e3473260c" dependencies = [ "console", "dialoguer", @@ -3807,9 +3805,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baeb95820862d14c1391dfda9a3173b0509f1b17ebd1090b3778fac1743ab69" +checksum = "93d34afb705efdf62ad1a911beffe3c6d599eab2125bd07460e85a424636cb54" dependencies = [ "async-trait", "base64 0.21.2", @@ -3833,9 +3831,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29009927e289fc5ccd19cec05780dc8465eb65e52922087cf769e57d72c0b7b5" +checksum = "a9e28db9b3748bfe7367ef9e9b968be1643f63ab9c360e89681d426d036cf69a" dependencies = [ "base64 0.21.2", "bs58 0.4.0", @@ -3855,9 +3853,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df466014e9768f4741be00acea0067bde11a2ec1162a12ebf896960990a2e6b8" +checksum = "27c9c9f034bf3c931441a0fbb528b8e3bf417a32b70546e5fa0c00cd78559ff5" dependencies = [ "clap 2.34.0", "solana-clap-utils", @@ -3868,14 +3866,14 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "352b70bb14d8968d5484aa73a1aede3acc816f10a0b264c6599108c5dd6b647b" +checksum = "d23dbf6da55a2d191956c693d8490dc809799822536aceb11309043e9b622079" dependencies = [ "assert_matches", "base64 0.21.2", "bincode", - "bitflags", + "bitflags 1.3.2", "borsh 0.10.3", "bs58 0.4.0", "bytemuck", @@ -3921,22 +3919,22 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38a884c027b0759d0969efc1253f3b8798f9d5fbef2eb158cdb70763619d2f3" +checksum = "2e7d686e405694cd6510cd77bb87d0eeda64ad3df08d3293278ba47ca78b8e5e" dependencies = [ "bs58 0.4.0", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustversion", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] name = "solana-streamer" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b87bd090a462765b6e3196e6c22cc0edebf8942fb4a6de9a807ce3d8d5d436" +checksum = "e40e74d6ae01dd21dc1a93a2213f8d7e04aea69079092a131ad5bd2d54aa16bc" dependencies = [ "async-channel", "bytes", @@ -3967,9 +3965,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8dc82e52a443249c5b1df3ddd7273306c81fde2c8057cc398e0fbd0fae7a47" +checksum = "34f3a1dae21f002f2d35ddfcc09fb528bc52936bb9fe4aea7bb46b1361998ed7" dependencies = [ "bincode", "log", @@ -3982,9 +3980,9 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a09c139e796337646ba4f013a849555f50d35ae7278461d685a429c29f6295f" +checksum = "5fffd371a68959dbbbb073198cd93121586da924a8dc493bd624a5ddf40a6742" dependencies = [ "async-trait", "bincode", @@ -4007,9 +4005,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284227b302a68b0c384f46cb95e5472d39e7c7094d6079c4e5bd2f133f6920ff" +checksum = "aeb3b1a35fc4718e758851670a959bb4736a8825f56c7ebfcd6eec892cbd200a" dependencies = [ "Inflector", "base64 0.21.2", @@ -4033,9 +4031,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23aa72c84646a65727b63ff2988147062a792b569591351f06c0e6014ca52de9" +checksum = "05fd1c52102c716767d32a6936843b0505ad61bad958b34bcff513fe609611e7" dependencies = [ "async-trait", "solana-connection-cache", @@ -4048,9 +4046,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "036b2c0f4b3dfbe48d96c0f5e9be0fadd019bf46327013475bbf3b8ae9870dfe" +checksum = "6b4f9750ce47f0a431338121a3247bd29665d6da5a8ebde8c5320503c98d8adc" dependencies = [ "log", "rustc_version", @@ -4064,9 +4062,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fe8c3382ac0c050c2224037fc8be990f713526e6b136f3a8da9464e2e1a506" +checksum = "258b4c3e62faaed0cd864b02760659e45fb4431a287ee0088ae79af891ae4786" dependencies = [ "bincode", "log", @@ -4086,9 +4084,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a4c38e1cf77cc046a48d0e515ec3fe654d9c3ba49790523f2d8fd28a5e51d3" +checksum = "c2d04eecf3a7438c95db28b57437e94f09a1e60377183d9bea0c9db84506f504" dependencies = [ "aes-gcm-siv", "base64 0.21.2", @@ -4239,8 +4237,6 @@ checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" [[package]] name = "switchboard-common" version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaa7b85e2005ce058c626ce0d4d618dc18ca8f45a24bd66f3e11a6bf43f20082" dependencies = [ "getrandom 0.2.10", "hex", @@ -4252,7 +4248,7 @@ dependencies = [ [[package]] name = "switchboard-solana" -version = "0.28.0" +version = "0.28.2" dependencies = [ "anchor-client", "anchor-lang", @@ -4289,19 +4285,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.25" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "unicode-ident", ] @@ -4311,8 +4307,8 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", "unicode-xid 0.2.4", ] @@ -4325,11 +4321,10 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.6.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" dependencies = [ - "autocfg", "cfg-if", "fastrand", "redox_syscall 0.3.5", @@ -4363,22 +4358,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -4394,10 +4389,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.23" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" dependencies = [ + "deranged", "itoa", "serde", "time-core", @@ -4412,9 +4408,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -4479,8 +4475,8 @@ version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -4553,9 +4549,9 @@ checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" [[package]] name = "toml_edit" -version = "0.19.12" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ "indexmap 2.0.0", "toml_datetime", @@ -4575,7 +4571,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", - "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4587,9 +4582,9 @@ version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -4643,9 +4638,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -4734,9 +4729,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "uuid" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" [[package]] name = "vec_map" @@ -4802,9 +4797,9 @@ dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", "wasm-bindgen-shared", ] @@ -4826,7 +4821,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.29", + "quote 1.0.32", "wasm-bindgen-macro-support", ] @@ -4836,9 +4831,9 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5067,9 +5062,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.4.9" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a2094c43cc94775293eaa0e499fbc30048a6d824ac82c0351a8c0bf9112529" +checksum = "acaaa1190073b2b101e15083c38ee8ec891b5e05cbee516521e94ec008f61e64" dependencies = [ "memchr", ] @@ -5107,7 +5102,7 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -5116,7 +5111,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -5134,9 +5129,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] diff --git a/examples/functions/04_randomness_callback/Cargo.toml b/examples/functions/04_randomness_callback/Cargo.toml index ef17a63c0..a53e50b8a 100644 --- a/examples/functions/04_randomness_callback/Cargo.toml +++ b/examples/functions/04_randomness_callback/Cargo.toml @@ -1,13 +1,24 @@ [workspace] -members = [ - "programs/*" -] - -[profile.release] -overflow-checks = true -lto = "fat" -codegen-units = 1 -[profile.release.build-override] -opt-level = 3 -incremental = false -codegen-units = 1 + +[package] +name = "custom-randomness-request" +version = "0.1.0" +description = "Created with Anchor" +edition = "2021" + +[lib] +crate-type = ["cdylib", "lib"] +name = "custom_randomness_request" + +[features] +no-entrypoint = [] +no-idl = [] +no-log-ix-name = [] +cpi = ["no-entrypoint"] +default = [] + +[dependencies] +bytemuck = "^1" +anchor-spl = "0.28.0" +switchboard-solana = "0.28.4" +# switchboard-solana = { version = "0.28.4", path = "../../../rust/switchboard-solana" } diff --git a/examples/functions/04_randomness_callback/programs/custom_randomness_request/Xargo.toml b/examples/functions/04_randomness_callback/Xargo.toml similarity index 100% rename from examples/functions/04_randomness_callback/programs/custom_randomness_request/Xargo.toml rename to examples/functions/04_randomness_callback/Xargo.toml diff --git a/examples/functions/04_randomness_callback/package.json b/examples/functions/04_randomness_callback/package.json index 76faccea3..70d7e2d7c 100644 --- a/examples/functions/04_randomness_callback/package.json +++ b/examples/functions/04_randomness_callback/package.json @@ -7,16 +7,17 @@ "clean": "pnpm exec rimraf node_modules .anchor .turbo" }, "dependencies": { - "@coral-xyz/anchor": "^0.28.0", + "@coral-xyz/anchor": "^0.27.0", "@solana/spl-token": "^0.3.8", - "@switchboard-xyz/common": "latest", - "@switchboard-xyz/solana.js": "workspace:latest", - "@types/dotenv": "^8.2.0", + "@solana/web3.js": "^1.78.3", + "@switchboard-xyz/common": "^2.3.0", + "@switchboard-xyz/solana.js": "^2.5.0", "dotenv": "^16.3.1" }, "devDependencies": { "@types/bn.js": "^5.1.0", "@types/chai": "^4.3.0", + "@types/dotenv": "^8.2.0", "@types/mocha": "^9.0.0", "@types/node": "^20.4.2", "chai": "^4.3.4", diff --git a/examples/functions/04_randomness_callback/programs/custom_randomness_request/Cargo.toml b/examples/functions/04_randomness_callback/programs/custom_randomness_request/Cargo.toml deleted file mode 100644 index 60ba1a45c..000000000 --- a/examples/functions/04_randomness_callback/programs/custom_randomness_request/Cargo.toml +++ /dev/null @@ -1,21 +0,0 @@ -[package] -name = "custom_randomness_request" -version = "0.1.0" -description = "Created with Anchor" -edition = "2021" - -[lib] -crate-type = ["cdylib", "lib"] -name = "custom_randomness_request" - -[features] -no-entrypoint = [] -no-idl = [] -no-log-ix-name = [] -cpi = ["no-entrypoint"] -default = [] - -[dependencies] -bytemuck = "^1" -anchor-spl = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../../../rust/switchboard-solana" } diff --git a/examples/functions/04_randomness_callback/sgx-function/Cargo.lock b/examples/functions/04_randomness_callback/sgx-function/Cargo.lock index 76f133c23..fee1220a7 100644 --- a/examples/functions/04_randomness_callback/sgx-function/Cargo.lock +++ b/examples/functions/04_randomness_callback/sgx-function/Cargo.lock @@ -267,7 +267,7 @@ checksum = "a125e4b0cc046cfec58f5aa25038e34cf440151d58f0db3afc55308251fe936d" dependencies = [ "anyhow", "bs58 0.5.0", - "heck 0.3.3", + "heck", "proc-macro2 1.0.64", "quote 1.0.29", "serde", @@ -856,15 +856,6 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" -[[package]] -name = "bytestring" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae" -dependencies = [ - "bytes", -] - [[package]] name = "caps" version = "0.5.5" @@ -1449,12 +1440,6 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - [[package]] name = "flate2" version = "1.0.26" @@ -1471,21 +1456,6 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - [[package]] name = "form_urlencoded" version = "1.2.0" @@ -1718,12 +1688,6 @@ 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" @@ -1861,19 +1825,6 @@ dependencies = [ "tokio-rustls", ] -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - [[package]] name = "iana-time-zone" version = "0.1.57" @@ -2021,18 +1972,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "jsonpath-rust" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7ea2fa3ba7d1404aa6b094aceec1d49106ec0110b40c40b76cedae148837a3b" -dependencies = [ - "pest", - "pest_derive", - "regex", - "serde_json", -] - [[package]] name = "jsonrpc-core" version = "18.0.0" @@ -2240,30 +2179,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "multimap" -version = "0.8.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - [[package]] name = "nix" version = "0.26.2" @@ -2486,50 +2401,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" -[[package]] -name = "openssl" -version = "0.10.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" -dependencies = [ - "bitflags", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", -] - [[package]] name = "openssl-probe" version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" -[[package]] -name = "openssl-sys" -version = "0.9.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - [[package]] name = "os_str_bytes" version = "6.5.1" @@ -2632,60 +2509,6 @@ dependencies = [ "num", ] -[[package]] -name = "pest" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9" -dependencies = [ - "thiserror", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", -] - -[[package]] -name = "pest_meta" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0" -dependencies = [ - "once_cell", - "pest", - "sha2 0.10.7", -] - -[[package]] -name = "petgraph" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" -dependencies = [ - "fixedbitset", - "indexmap 1.9.3", -] - [[package]] name = "pin-project-lite" version = "0.2.10" @@ -2745,16 +2568,6 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" -[[package]] -name = "prettyplease" -version = "0.1.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" -dependencies = [ - "proc-macro2 1.0.64", - "syn 1.0.109", -] - [[package]] name = "proc-macro-crate" version = "0.1.5" @@ -2792,62 +2605,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "prost" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-build" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" -dependencies = [ - "bytes", - "heck 0.4.1", - "itertools", - "lazy_static", - "log", - "multimap", - "petgraph", - "prettyplease", - "prost", - "prost-types", - "pulldown-cmark", - "pulldown-cmark-to-cmark", - "regex", - "syn 1.0.109", - "tempfile", - "which", -] - -[[package]] -name = "prost-derive" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 1.0.109", -] - -[[package]] -name = "prost-types" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" -dependencies = [ - "prost", -] - [[package]] name = "ptr_meta" version = "0.1.4" @@ -2868,26 +2625,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "pulldown-cmark" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" -dependencies = [ - "bitflags", - "memchr", - "unicase", -] - -[[package]] -name = "pulldown-cmark-to-cmark" -version = "10.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0194e6e1966c23cc5fd988714f85b18d548d773e81965413555d96569931833d" -dependencies = [ - "pulldown-cmark", -] - [[package]] name = "qstring" version = "0.7.2" @@ -3057,7 +2794,6 @@ version = "0.1.0" dependencies = [ "futures", "switchboard-solana", - "switchboard-utils", "tokio", ] @@ -3168,12 +2904,10 @@ dependencies = [ "http-body", "hyper", "hyper-rustls", - "hyper-tls", "ipnet", "js-sys", "log", "mime", - "native-tls", "once_cell", "percent-encoding", "pin-project-lite", @@ -3183,7 +2917,6 @@ dependencies = [ "serde_json", "serde_urlencoded", "tokio", - "tokio-native-tls", "tokio-rustls", "tokio-util", "tower-service", @@ -4505,21 +4238,7 @@ checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" [[package]] name = "switchboard-common" -version = "0.8.5" -dependencies = [ - "getrandom 0.2.10", - "hex", - "serde", - "serde_json", - "sgx-quote", - "sha2 0.10.7", -] - -[[package]] -name = "switchboard-common" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5a03303674fb73b1dbe6cfc83aa8faa0e99264472a47177a1803f7475b318d1" +version = "0.8.6" dependencies = [ "getrandom 0.2.10", "hex", @@ -4531,7 +4250,7 @@ dependencies = [ [[package]] name = "switchboard-solana" -version = "0.9.2" +version = "0.28.1" dependencies = [ "anchor-client", "anchor-lang", @@ -4547,32 +4266,10 @@ dependencies = [ "solana-client", "solana-program", "superslice", - "switchboard-common 0.8.5", + "switchboard-common", "tokio", ] -[[package]] -name = "switchboard-utils" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e18a6e7377b936fbd485fa641e6c2c7ad37e03336da90ef554c81df25369ecac" -dependencies = [ - "bytes", - "bytestring", - "futures-channel", - "futures-util", - "jsonpath-rust", - "prost", - "prost-build", - "reqwest", - "serde", - "serde_derive", - "serde_json", - "switchboard-common 0.8.5 (registry+https://github.com/rust-lang/crates.io-index)", - "tokio", - "url", -] - [[package]] name = "syn" version = "0.15.44" @@ -4785,16 +4482,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - [[package]] name = "tokio-rustls" version = "0.23.4" @@ -4946,21 +4633,6 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" -[[package]] -name = "ucd-trie" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" - -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.13" @@ -5064,12 +4736,6 @@ version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - [[package]] name = "vec_map" version = "0.8.2" @@ -5210,17 +4876,6 @@ dependencies = [ "webpki", ] -[[package]] -name = "which" -version = "4.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" -dependencies = [ - "either", - "libc", - "once_cell", -] - [[package]] name = "winapi" version = "0.3.9" diff --git a/examples/functions/04_randomness_callback/sgx-function/Cargo.toml b/examples/functions/04_randomness_callback/sgx-function/Cargo.toml index f8ed678cd..9bc2be0cf 100644 --- a/examples/functions/04_randomness_callback/sgx-function/Cargo.toml +++ b/examples/functions/04_randomness_callback/sgx-function/Cargo.toml @@ -12,5 +12,5 @@ path = "src/main.rs" [dependencies] tokio = "^1" futures = "0.3" -switchboard-solana = "0.28.0" -# switchboard-solana = { version = "0.28.0", path = "../../../../rust/switchboard-solana" } +switchboard-solana = "0.28.4" +# switchboard-solana = { version = "0.28.4", path = "../../../../rust/switchboard-solana" } diff --git a/examples/functions/04_randomness_callback/sgx-function/Dockerfile b/examples/functions/04_randomness_callback/sgx-function/Dockerfile index ca302eceb..e98234c19 100644 --- a/examples/functions/04_randomness_callback/sgx-function/Dockerfile +++ b/examples/functions/04_randomness_callback/sgx-function/Dockerfile @@ -1,5 +1,5 @@ # syntax=docker/dockerfile:1.4 -FROM switchboardlabs/sgx-function:main AS builder +FROM switchboardlabs/sgx-function AS builder ARG CARGO_NAME=switchboard-function ENV CARGO_NAME=$CARGO_NAME @@ -11,9 +11,9 @@ COPY ./src ./src RUN --mount=type=cache,target=/usr/local/cargo/registry,id=${TARGETPLATFORM} --mount=type=cache,target=target,id=${TARGETPLATFORM} \ cargo build --release && \ cargo strip && \ - mv target/release/randomness-function /sgx/app + mv target/release/${CARGO_NAME} /sgx/app -FROM switchboardlabs/sgx-function:main +FROM switchboardlabs/sgx-function # Copy the binary WORKDIR /sgx diff --git a/examples/functions/04_randomness_callback/programs/custom_randomness_request/src/error.rs b/examples/functions/04_randomness_callback/src/error.rs similarity index 100% rename from examples/functions/04_randomness_callback/programs/custom_randomness_request/src/error.rs rename to examples/functions/04_randomness_callback/src/error.rs diff --git a/examples/functions/04_randomness_callback/programs/custom_randomness_request/src/lib.rs b/examples/functions/04_randomness_callback/src/lib.rs similarity index 98% rename from examples/functions/04_randomness_callback/programs/custom_randomness_request/src/lib.rs rename to examples/functions/04_randomness_callback/src/lib.rs index f99237633..4bde6222a 100644 --- a/examples/functions/04_randomness_callback/programs/custom_randomness_request/src/lib.rs +++ b/examples/functions/04_randomness_callback/src/lib.rs @@ -6,10 +6,10 @@ pub use utils::*; pub mod error; pub use error::*; -pub use switchboard_solana::prelude::anchor_lang; -pub use switchboard_solana::prelude::anchor_spl; +// pub use switchboard_solana::prelude::anchor_lang; +// pub use switchboard_solana::prelude::anchor_spl; -pub use anchor_lang::*; +// pub use anchor_lang::*; declare_id!("Csx5AU83fPiaSChJUBZg2cW9GcCVVwZ4rwFqDA2pomX2"); @@ -106,6 +106,7 @@ pub mod custom_randomness_request { Some(512), Some(request_params.into_bytes()), None, + None, )?; let mut user = ctx.accounts.user.load_mut()?; diff --git a/examples/functions/04_randomness_callback/programs/custom_randomness_request/src/state.rs b/examples/functions/04_randomness_callback/src/state.rs similarity index 100% rename from examples/functions/04_randomness_callback/programs/custom_randomness_request/src/state.rs rename to examples/functions/04_randomness_callback/src/state.rs diff --git a/examples/functions/04_randomness_callback/programs/custom_randomness_request/src/utils.rs b/examples/functions/04_randomness_callback/src/utils.rs similarity index 100% rename from examples/functions/04_randomness_callback/programs/custom_randomness_request/src/utils.rs rename to examples/functions/04_randomness_callback/src/utils.rs diff --git a/examples/functions/04_randomness_callback/tests/custom_randomness_request.ts b/examples/functions/04_randomness_callback/tests/custom_randomness_request.ts index 6b031126c..eb501cab6 100644 --- a/examples/functions/04_randomness_callback/tests/custom_randomness_request.ts +++ b/examples/functions/04_randomness_callback/tests/custom_randomness_request.ts @@ -6,9 +6,11 @@ import { printLogs } from "./utils"; import type { Program } from "@coral-xyz/anchor"; import * as anchor from "@coral-xyz/anchor"; import * as spl from "@solana/spl-token"; -import type { Connection } from "@solana/web3.js"; -import { Keypair, PublicKey, SystemProgram } from "@solana/web3.js"; -import { parseMrEnclave, toUtf8 } from "@switchboard-xyz/common"; +import { + parseMrEnclave, + parseRawMrEnclave, + toUtf8, +} from "@switchboard-xyz/common"; import type { FunctionAccount, SwitchboardWallet, @@ -26,8 +28,9 @@ import { } from "@switchboard-xyz/solana.js"; import assert from "assert"; -const MRENCLAVE = parseMrEnclave( - "Y6keo0uTCiWDNcWwGjZ2jfTd4VFhrr6LC/6Mk1aiNCA=" +const MRENCLAVE = parseRawMrEnclave( + "0x0162074de74faf6e896b6c0b60341e0edc5470adee26fce7297ccbed306537db", + true ); const emptyEnclave: number[] = new Array(32).fill(0); @@ -38,8 +41,10 @@ describe("custom_randomness_request", () => { const program = anchor.workspace .CustomRandomnessRequest as Program; + console.log(`ProgramID: ${program.programId}`); + const payer = (program.provider as anchor.AnchorProvider).publicKey; - const [housePubkey, houseBump] = PublicKey.findProgramAddressSync( + const [housePubkey, houseBump] = anchor.web3.PublicKey.findProgramAddressSync( [Buffer.from("CUSTOMRANDOMNESS")], program.programId ); @@ -53,7 +58,7 @@ describe("custom_randomness_request", () => { let requestAccount: FunctionRequestAccount; let wallet: SwitchboardWallet; - const [userPubkey, userBump] = PublicKey.findProgramAddressSync( + const [userPubkey, userBump] = anchor.web3.PublicKey.findProgramAddressSync( [Buffer.from("CUSTOMRANDOMNESS"), payer.toBytes()], program.programId ); @@ -106,8 +111,9 @@ describe("custom_randomness_request", () => { mint: switchboard.program.mint.address, houseTokenWallet: houseTokenWallet, }) - .rpc(); + .rpc({ skipPreflight: true }); console.log("house_init transaction signature", tx); + await printLogs(program.provider.connection, tx); } const houseState = await program.account.houseState.fetch(housePubkey); @@ -178,7 +184,7 @@ describe("custom_randomness_request", () => { }); it("user_guess", async () => { - const requestKeypair = Keypair.generate(); + const requestKeypair = anchor.web3.Keypair.generate(); requestAccount = new FunctionRequestAccount( switchboard.program, @@ -241,7 +247,7 @@ describe("custom_randomness_request", () => { }); it("user_settle", async () => { - const enclaveSigner = Keypair.generate(); + const enclaveSigner = anchor.web3.Keypair.generate(); const requestState = await requestAccount.loadData(); @@ -310,7 +316,7 @@ describe("custom_randomness_request", () => { }); }); -function writeHouseState(pubkey: PublicKey, houseState: any) { +function writeHouseState(pubkey: anchor.web3.PublicKey, houseState: any) { console.log(`## House ${pubkey}`); console.log(`\tbump: ${houseState.bump}`); console.log(`\tmaxGuess: ${houseState.maxGuess}`); @@ -319,7 +325,7 @@ function writeHouseState(pubkey: PublicKey, houseState: any) { console.log(`\ttokenWallet: ${houseState.tokenWallet}`); } -function writeUserState(pubkey: PublicKey, userState: any) { +function writeUserState(pubkey: anchor.web3.PublicKey, userState: any) { console.log(`## User ${pubkey}`); console.log(`\tbump: ${userState.bump}`); console.log(`\tauthority: ${userState.authority}`); @@ -346,7 +352,10 @@ function writeUserRound(round: any) { console.log(`\t\twager: ${(round.wager as anchor.BN).toNumber()}`); } -async function handleFailedTxnLogs(connection: Connection, error: unknown) { +async function handleFailedTxnLogs( + connection: anchor.web3.Connection, + error: unknown +) { const errorString = `${error}`; const regex = /Raw transaction (\S+)/; const match = errorString.match(regex); diff --git a/examples/functions/05_raffle_program/.gitignore b/examples/functions/05_raffle_program/.gitignore new file mode 100644 index 000000000..eeb174cf1 --- /dev/null +++ b/examples/functions/05_raffle_program/.gitignore @@ -0,0 +1,24 @@ +# Generated by Cargo +# will have compiled files and executables +debug/ +target/ + +# These are backup files generated by rustfmt +**/*.rs.bk + +# MSVC Windows builds of rustc generate these, which store debugging information +*.pdb + +# Added by cargo +/target + +# you can remove this but it may be unclear which image tag this belongs to +measurement.txt + +.anchor +.DS_Store +target +**/*.rs.bk +node_modules +test-ledger +.yarn diff --git a/examples/functions/05_raffle_program/.prettierignore b/examples/functions/05_raffle_program/.prettierignore new file mode 100644 index 000000000..c1a0b75f0 --- /dev/null +++ b/examples/functions/05_raffle_program/.prettierignore @@ -0,0 +1,8 @@ + +.anchor +.DS_Store +target +node_modules +dist +build +test-ledger diff --git a/examples/functions/05_raffle_program/Anchor.toml b/examples/functions/05_raffle_program/Anchor.toml new file mode 100644 index 000000000..5233f102c --- /dev/null +++ b/examples/functions/05_raffle_program/Anchor.toml @@ -0,0 +1,42 @@ +[workspace] +members = ["."] + +[features] +seeds = false +skip-lint = false +[programs.localnet] +raffle_program = "3uMC4KCYHsY1WopPoGpTWqZdqoNxm6f8EVA4XLZpKYzw" + +[provider] +cluster = "Localnet" +wallet = "~/.config/solana/id.json" + +[scripts] +test = "pnpm exec ts-mocha -p ./tsconfig.json -t 1000000 tests/**/*.ts --exit" + +# [test.validator] +# url = "https://api.devnet.solana.com" + +# [test] +# startup_wait = 15000 + +# [[test.validator.clone]] # sb devnet oracle programID +# address = "SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f" + +# [[test.validator.clone]] # sb devnet oracle IDL +# address = "Fi8vncGpNKbq62gPo56G4toCehWNy77GgqGkTaAF5Lkk" + +# [[test.validator.clone]] # sb devnet oracle SbState +# address = "CyZuD7RPDcrqCGbNvLCyqk6Py9cEZTKmNKujfPi3ynDd" + +# [[test.validator.clone]] # sb devnet oracle tokenVault +# address = "7hkp1xfPBcD2t1vZMoWWQPzipHVcXeLAAaiGXdPSfDie" + +# [[test.validator.clone]] # sb devnet attestation programID +# address = "sbattyXrzedoNATfc4L31wC9Mhxsi1BmFhTiN8gDshx" + +# [[test.validator.clone]] # sb devnet attestation IDL +# address = "5ExuoQR69trmKQfB95fDsUGsUrrChbGq9PFgt8qouncz" + +# [[test.validator.clone]] # sb devnet programState +# address = "5MFs7RGTjLi1wtKNBFRtuLipCkkjs4YQwRRU9sjnbQbS" diff --git a/examples/functions/05_raffle_program/Cargo.lock b/examples/functions/05_raffle_program/Cargo.lock new file mode 100644 index 000000000..0beafe3b7 --- /dev/null +++ b/examples/functions/05_raffle_program/Cargo.lock @@ -0,0 +1,5162 @@ +# 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 = "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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.10", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom 0.2.10", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +dependencies = [ + "memchr", +] + +[[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.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faa5be5b72abea167f87c868379ba3c2be356bfca9e6f474fd055fa0f7eeb4f2" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2 1.0.66", + "quote 1.0.32", + "regex", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-account" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f468970344c7c9f9d03b4da854fd7c54f21305059f53789d0045c1dd803f0018" +dependencies = [ + "anchor-syn", + "anyhow", + "bs58 0.5.0", + "proc-macro2 1.0.66", + "quote 1.0.32", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-constant" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59948e7f9ef8144c2aefb3f32a40c5fce2798baeec765ba038389e82301017ef" +dependencies = [ + "anchor-syn", + "proc-macro2 1.0.66", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-error" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc753c9d1c7981cb8948cf7e162fb0f64558999c0413058e2d43df1df5448086" +dependencies = [ + "anchor-syn", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-event" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38b4e172ba1b52078f53fdc9f11e3dc0668ad27997838a0aad2d148afac8c97" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-program" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eebd21543606ab61e2d83d9da37d24d3886a49f390f9c43a1964735e8c0f0d5" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "anchor-client" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8434a6bf33efba0c93157f7fa2fafac658cb26ab75396886dcedd87c2a8ad445" +dependencies = [ + "anchor-lang", + "anyhow", + "futures", + "regex", + "serde", + "solana-account-decoder", + "solana-client", + "solana-sdk", + "thiserror", + "tokio", + "url", +] + +[[package]] +name = "anchor-derive-accounts" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec4720d899b3686396cced9508f23dab420f1308344456ec78ef76f98fda42af" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-space" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f495e85480bd96ddeb77b71d499247c7d4e8b501e75ecb234e9ef7ae7bd6552a" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "anchor-lang" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d2d4b20100f1310a774aba3471ef268e5c4ba4d5c28c0bbe663c2658acbc414" +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-space", + "arrayref", + "base64 0.13.1", + "bincode", + "borsh 0.10.3", + "bytemuck", + "getrandom 0.2.10", + "solana-program", + "thiserror", +] + +[[package]] +name = "anchor-spl" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78f860599da1c2354e7234c768783049eb42e2f54509ecfc942d2e0076a2da7b" +dependencies = [ + "anchor-lang", + "solana-program", + "spl-associated-token-account", + "spl-token", + "spl-token-2022", +] + +[[package]] +name = "anchor-syn" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a125e4b0cc046cfec58f5aa25038e34cf440151d58f0db3afc55308251fe936d" +dependencies = [ + "anyhow", + "bs58 0.5.0", + "heck", + "proc-macro2 1.0.66", + "quote 1.0.32", + "serde", + "serde_json", + "sha2 0.10.7", + "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.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" + +[[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.3", + "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 1.0.32", + "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.3", + "num-traits", + "proc-macro2 1.0.66", + "quote 1.0.32", + "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.3", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "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 = "array-bytes" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ad284aeb45c13f2fb4f084de4a420ebf447423bdf9386c0540ce33cb3ef4b8c" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[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 7.1.3", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.25", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "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 1.0.66", + "quote 1.0.32", + "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.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +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.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[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.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[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.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + +[[package]] +name = "bitmaps" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +dependencies = [ + "typenum", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake3" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" +dependencies = [ + "arrayref", + "arrayvec 0.7.4", + "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-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 1.0.66", + "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 1.0.66", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "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 1.0.66", + "quote 1.0.32", + "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 1.0.66", + "quote 1.0.32", + "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 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "brotli" +version = "3.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "bv" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340" +dependencies = [ + "feature-probe", + "serde", +] + +[[package]] +name = "bytecheck" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "caps" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" +dependencies = [ + "libc", + "thiserror", +] + +[[package]] +name = "cc" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c6b2562119bf28c3439f7f02db99faf0aa1a8cdfe5772a2ee155d32227239f0" +dependencies = [ + "jobserver", + "libc", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "time 0.1.45", + "wasm-bindgen", + "winapi", +] + +[[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.0", +] + +[[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.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "console" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.45.0", +] + +[[package]] +name = "console_error_panic_hook" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" +dependencies = [ + "cfg-if", + "wasm-bindgen", +] + +[[package]] +name = "console_log" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89f72f65e8501878b8a004d5a1afb780987e2ce2b4532c562e367a72c57499f" +dependencies = [ + "log", + "web-sys", +] + +[[package]] +name = "const-oid" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4c78c047431fee22c1a7bb92e00ad095a02a983affe4d8a72e2a2c62c1b94f3" + +[[package]] +name = "constant_time_eq" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "cpufeatures" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "cron" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ff76b51e4c068c52bfd2866e1567bee7c567ae8f24ada09fd4307019e25eab7" +dependencies = [ + "chrono", + "nom 7.1.3", + "once_cell", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset 0.9.0", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "ctr" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +dependencies = [ + "cipher", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "serde", + "subtle", + "zeroize", +] + +[[package]] +name = "darling" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2 1.0.66", + "quote 1.0.32", + "strsim 0.10.0", + "syn 2.0.28", +] + +[[package]] +name = "darling_macro" +version = "0.20.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" +dependencies = [ + "darling_core", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + +[[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 7.1.3", + "num-bigint 0.4.3", + "num-traits", + "rusticata-macros", +] + +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" + +[[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 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "dialoguer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" +dependencies = [ + "console", + "shell-words", + "tempfile", + "zeroize", +] + +[[package]] +name = "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 = "displaydoc" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "dlopen" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e80ad39f814a9abe68583cd50a2d45c8a67561c3361ab8da240587dda80937" +dependencies = [ + "dlopen_derive", + "lazy_static", + "libc", + "winapi", +] + +[[package]] +name = "dlopen_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f236d9e1b1fbd81cea0f9cbdc8dcc7e8ebcd80e6659cd7cb2ad5f6c05946c581" +dependencies = [ + "libc", + "quote 0.6.13", + "syn 0.15.44", +] + +[[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.7", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-iterator" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689" +dependencies = [ + "enum-iterator-derive", +] + +[[package]] +name = "enum-iterator-derive" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[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.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" + +[[package]] +name = "feature-probe" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" + +[[package]] +name = "flate2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-executor" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +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.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[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.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "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.6", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.6", +] + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.3", +] + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "histogram" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cb882ccb290b8646e554b157ab0b71e64e8d5bef775cd66b6531e52d302669" + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac-drbg" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" +dependencies = [ + "digest 0.9.0", + "generic-array", + "hmac 0.8.1", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[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.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +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.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +dependencies = [ + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows", +] + +[[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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +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 = "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.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "indicatif" +version = "0.17.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" +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.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + +[[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.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" + +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lexical-core" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" +dependencies = [ + "arrayvec 0.5.2", + "bitflags 1.3.2", + "cfg-if", + "ryu", + "static_assertions", +] + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[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 = "linux-raw-sys" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" +dependencies = [ + "libc", + "log", + "miow", + "ntapi", + "winapi", +] + +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi", +] + +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", + "static_assertions", +] + +[[package]] +name = "nom" +version = "5.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b" +dependencies = [ + "lexical-core", + "memchr", + "version_check", +] + +[[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 = "ntapi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" +dependencies = [ + "winapi", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +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-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +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.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +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.2", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive 0.5.11", +] + +[[package]] +name = "num_enum" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive 0.6.1", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "num_enum_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[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.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "os_str_bytes" +version = "6.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.8", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "smallvec", + "windows-targets 0.48.1", +] + +[[package]] +name = "paste" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[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-lite" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" + +[[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.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + +[[package]] +name = "polyval" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "portable-atomic" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +dependencies = [ + "unicode-xid 0.1.0", +] + +[[package]] +name = "proc-macro2" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "qstring" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "quinn" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "thiserror", + "tokio", + "tracing", + "webpki", +] + +[[package]] +name = "quinn-proto" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" +dependencies = [ + "bytes", + "rand 0.8.5", + "ring", + "rustc-hash", + "rustls", + "rustls-native-certs", + "slab", + "thiserror", + "tinyvec", + "tracing", + "webpki", +] + +[[package]] +name = "quinn-udp" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" +dependencies = [ + "libc", + "quinn-proto", + "socket2", + "tracing", + "windows-sys 0.42.0", +] + +[[package]] +name = "quote" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +dependencies = [ + "proc-macro2 0.4.30", +] + +[[package]] +name = "quote" +version = "1.0.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +dependencies = [ + "proc-macro2 1.0.66", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "raffle-program" +version = "0.1.0" +dependencies = [ + "switchboard-solana", +] + +[[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.10", +] + +[[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.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "num_cpus", +] + +[[package]] +name = "rcgen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" +dependencies = [ + "pem", + "ring", + "time 0.3.25", + "yasna", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "regex" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" + +[[package]] +name = "rend" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581008d2099240d37fb08d77ad713bcaec2c4d89d50b5b21a8bb1996bbab68ab" +dependencies = [ + "bytecheck", +] + +[[package]] +name = "reqwest" +version = "0.11.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" +dependencies = [ + "async-compression", + "base64 0.21.2", + "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", + "tokio", + "tokio-rustls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "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", + "untrusted", + "web-sys", + "winapi", +] + +[[package]] +name = "rkyv" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" +dependencies = [ + "bitvec", + "bytecheck", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "rpassword" +version = "7.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" +dependencies = [ + "libc", + "rtoolbox", + "winapi", +] + +[[package]] +name = "rtoolbox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "rust_decimal" +version = "1.31.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a2ab0025103a60ecaaf3abf24db1db240a4e1c15837090d2c32f625ac98abea" +dependencies = [ + "arrayvec 0.7.4", + "borsh 0.10.3", + "byteorder", + "bytes", + "num-traits", + "rand 0.8.5", + "rkyv", + "serde", + "serde_json", +] + +[[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 7.1.3", +] + +[[package]] +name = "rustix" +version = "0.38.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee020b1716f0a80e2ace9b03441a749e402e86712f15f16fe8a8f75afac732f" +dependencies = [ + "bitflags 2.3.3", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustls" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +dependencies = [ + "log", + "ring", + "sct", + "webpki", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +dependencies = [ + "base64 0.21.2", +] + +[[package]] +name = "rustversion" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" + +[[package]] +name = "ryu" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" + +[[package]] +name = "schannel" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +dependencies = [ + "windows-sys 0.48.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 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "security-framework" +version = "2.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" + +[[package]] +name = "serde" +version = "1.0.180" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea67f183f058fe88a4e3ec6e2788e003840893b91bac4559cabedd00863b3ed" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_bytes" +version = "0.11.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.180" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24e744d7782b686ab3b73267ef05697159cc0e5abbed3f47f9933165e5219036" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "serde_json" +version = "1.0.104" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +dependencies = [ + "serde", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +dependencies = [ + "darling", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "sgx-quote" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1640577af7b81d10db340c4b31006b77972e3918f351eec4e65c389c8b58e21" +dependencies = [ + "nom 5.1.3", +] + +[[package]] +name = "sha-1" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" +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.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +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 = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" + +[[package]] +name = "simdutf8" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" + +[[package]] +name = "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.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "solana-account-decoder" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "abdbb3f97298a86fd5a885eac55786a5853885817e5e9f3c427ee3651a81636d" +dependencies = [ + "Inflector", + "base64 0.21.2", + "bincode", + "bs58 0.4.0", + "bv", + "lazy_static", + "serde", + "serde_derive", + "serde_json", + "solana-address-lookup-table-program", + "solana-config-program", + "solana-sdk", + "spl-token", + "spl-token-2022", + "thiserror", + "zstd", +] + +[[package]] +name = "solana-address-lookup-table-program" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282e7e0a459a3461f8dd83eb0609006ec8decf53e6a0cdbc2f2502fe4dc29e97" +dependencies = [ + "bincode", + "bytemuck", + "log", + "num-derive", + "num-traits", + "rustc_version", + "serde", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-program", + "solana-program-runtime", + "solana-sdk", + "thiserror", +] + +[[package]] +name = "solana-clap-utils" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33aa7ffd67c78e34c982c5cd0be7a8f9c4caec21ef1c38adc732c61cd38cef36" +dependencies = [ + "chrono", + "clap 2.34.0", + "rpassword", + "solana-perf", + "solana-remote-wallet", + "solana-sdk", + "thiserror", + "tiny-bip39", + "uriparse", + "url", +] + +[[package]] +name = "solana-client" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e5bbde351def5eb2df5fbb4903d5f8e891eaa643c63f654b4a9eb6fa08e88d7" +dependencies = [ + "async-trait", + "bincode", + "futures", + "futures-util", + "indexmap 1.9.3", + "indicatif", + "log", + "quinn", + "rand 0.7.3", + "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-config-program" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82d4fb0fa3a1714da0b03befc861aa851bb2d7b446c4eb0a3a55db2f3d47fa3b" +dependencies = [ + "bincode", + "chrono", + "serde", + "serde_derive", + "solana-program-runtime", + "solana-sdk", +] + +[[package]] +name = "solana-connection-cache" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "313fd8693ddfff8848b00993b4e7d785c9e5dd11e4ef65c20445b86ffc789d90" +dependencies = [ + "async-trait", + "bincode", + "futures-util", + "indexmap 1.9.3", + "log", + "rand 0.7.3", + "rayon", + "rcgen", + "solana-measure", + "solana-metrics", + "solana-sdk", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-frozen-abi" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c33ec119dc1bb0395b50d389d31ee6015cc81570d31f19cb3dca0ffff5f8f117" +dependencies = [ + "ahash 0.8.3", + "blake3", + "block-buffer 0.10.4", + "bs58 0.4.0", + "bv", + "byteorder", + "cc", + "either", + "generic-array", + "getrandom 0.1.16", + "im", + "lazy_static", + "log", + "memmap2", + "once_cell", + "rand_core 0.6.4", + "rustc_version", + "serde", + "serde_bytes", + "serde_derive", + "serde_json", + "sha2 0.10.7", + "solana-frozen-abi-macro", + "subtle", + "thiserror", +] + +[[package]] +name = "solana-frozen-abi-macro" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1feba80a564f52092da4c8a93bebc66f39665ebefd02d93bd54ef10453f179d" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "rustc_version", + "syn 2.0.28", +] + +[[package]] +name = "solana-logger" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "853aab82ead804a201f0edb036e5ff73b9bc8e97d9c1b9b91aeee2f6435073a2" +dependencies = [ + "env_logger", + "lazy_static", + "log", +] + +[[package]] +name = "solana-measure" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9baba2de183b0f53e7ef67514a621598a4f83e438223b7d6a98118a0c8785e52" +dependencies = [ + "log", + "solana-sdk", +] + +[[package]] +name = "solana-metrics" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "354797e12eb6e93514074210e905ddd77faecf3ea3fdf414aac18a8290c3e5bb" +dependencies = [ + "crossbeam-channel", + "gethostname", + "lazy_static", + "log", + "reqwest", + "solana-sdk", +] + +[[package]] +name = "solana-net-utils" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6666d2ab4fa92f26cfda1407f5a893237eebb3e71b475816d348b36991ad0f42" +dependencies = [ + "bincode", + "clap 3.2.25", + "crossbeam-channel", + "log", + "nix", + "rand 0.7.3", + "serde", + "serde_derive", + "socket2", + "solana-logger", + "solana-sdk", + "solana-version", + "tokio", + "url", +] + +[[package]] +name = "solana-perf" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbdd389a7bbf6850ef8e0c391aeb5fdcd3e1017578087dc01b1f7b8b9a68a32" +dependencies = [ + "ahash 0.8.3", + "bincode", + "bv", + "caps", + "curve25519-dalek", + "dlopen", + "dlopen_derive", + "fnv", + "lazy_static", + "libc", + "log", + "nix", + "rand 0.7.3", + "rayon", + "serde", + "solana-metrics", + "solana-rayon-threadlimit", + "solana-sdk", + "solana-vote-program", +] + +[[package]] +name = "solana-program" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3afaa80737c3f26927df136e46b568525709371a5e161e1f490f1dd5defe9698" +dependencies = [ + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "array-bytes", + "base64 0.21.2", + "bincode", + "bitflags 1.3.2", + "blake3", + "borsh 0.10.3", + "bs58 0.4.0", + "bv", + "bytemuck", + "cc", + "console_error_panic_hook", + "console_log", + "curve25519-dalek", + "getrandom 0.2.10", + "itertools", + "js-sys", + "lazy_static", + "libc", + "libsecp256k1", + "log", + "memoffset 0.9.0", + "num-bigint 0.4.3", + "num-derive", + "num-traits", + "parking_lot 0.12.1", + "rand 0.7.3", + "rand_chacha 0.2.2", + "rustc_version", + "rustversion", + "serde", + "serde_bytes", + "serde_derive", + "serde_json", + "sha2 0.10.7", + "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.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1856d8d16b0cabb912c3a71f6579efcc2a918d9325b27d62a45a38a8958fe3a" +dependencies = [ + "base64 0.21.2", + "bincode", + "eager", + "enum-iterator", + "itertools", + "libc", + "log", + "num-derive", + "num-traits", + "percentage", + "rand 0.7.3", + "rustc_version", + "serde", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-measure", + "solana-metrics", + "solana-sdk", + "solana_rbpf", + "thiserror", +] + +[[package]] +name = "solana-pubsub-client" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2eca89d4d7faa19562747e7a7cad85abf089ba3c6e00c16196c3627e17b7f5e6" +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.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a348eaf9aa4a5cb0139c6af7a09e49a326c25e95a14b3fb9a7d755d47cf7fc0a" +dependencies = [ + "async-mutex", + "async-trait", + "futures", + "itertools", + "lazy_static", + "log", + "quinn", + "quinn-proto", + "quinn-udp", + "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.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8b098bb5f50ee2d6eefa38c908a390cc6c52e08421c745186264fd67cb7bb1b" +dependencies = [ + "lazy_static", + "num_cpus", +] + +[[package]] +name = "solana-remote-wallet" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65dc97db0e3fad44e840711fb6a0f2b81d8f4a09611528b3cb177cebedad22bf" +dependencies = [ + "console", + "dialoguer", + "log", + "num-derive", + "num-traits", + "parking_lot 0.12.1", + "qstring", + "semver", + "solana-sdk", + "thiserror", + "uriparse", +] + +[[package]] +name = "solana-rpc-client" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8644c6d89367636e7361dd04703ab16bb7ec1f1470d632f957cc30b83beeb7f8" +dependencies = [ + "async-trait", + "base64 0.21.2", + "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.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d44573a6fc4d2467e1434b065641d5b8019b35f671538a9425982cf7fddc421" +dependencies = [ + "base64 0.21.2", + "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.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f9252b4f5b0ad3c0cb79d30afb59019ca26ed8ce1f954c59df198a1e9431156" +dependencies = [ + "clap 2.34.0", + "solana-clap-utils", + "solana-rpc-client", + "solana-sdk", + "thiserror", +] + +[[package]] +name = "solana-sdk" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f53c6ffc2ce2fd2594f6dc1eb1e459843b5f9b008aae10e1cb3d6fef58e63706" +dependencies = [ + "assert_matches", + "base64 0.21.2", + "bincode", + "bitflags 1.3.2", + "borsh 0.10.3", + "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", + "num-derive", + "num-traits", + "num_enum 0.6.1", + "pbkdf2 0.11.0", + "qstring", + "rand 0.7.3", + "rand_chacha 0.2.2", + "rustc_version", + "rustversion", + "serde", + "serde_bytes", + "serde_derive", + "serde_json", + "serde_with", + "sha2 0.10.7", + "sha3 0.10.8", + "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.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11e11e29d859ffa265e1abb6f7aa12afe6c34b64c75b56a80b777f8f957074ac" +dependencies = [ + "bs58 0.4.0", + "proc-macro2 1.0.66", + "quote 1.0.32", + "rustversion", + "syn 2.0.28", +] + +[[package]] +name = "solana-streamer" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3098885b67cadc7b83aab0acd3a476fb24c3c637747ba5eed32dd511b86d9150" +dependencies = [ + "async-channel", + "bytes", + "crossbeam-channel", + "futures-util", + "histogram", + "indexmap 1.9.3", + "itertools", + "libc", + "log", + "nix", + "pem", + "percentage", + "pkcs8", + "quinn", + "quinn-proto", + "quinn-udp", + "rand 0.7.3", + "rcgen", + "rustls", + "solana-metrics", + "solana-perf", + "solana-sdk", + "thiserror", + "tokio", + "x509-parser", +] + +[[package]] +name = "solana-thin-client" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98c7fa5b031439428a35158d69c131e75805d20f61aea1196706822bc14ac90" +dependencies = [ + "bincode", + "log", + "rayon", + "solana-connection-cache", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-sdk", +] + +[[package]] +name = "solana-tpu-client" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb2c2ff3d859aea2a175a77b612127b13a969430900b64e865ee39b03c0b4170" +dependencies = [ + "async-trait", + "bincode", + "futures-util", + "indexmap 1.9.3", + "indicatif", + "log", + "rand 0.7.3", + "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.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6590fe4ed93087f6fbd069659d89bacc5edee9493b95e23e016d30aad3dcd059" +dependencies = [ + "Inflector", + "base64 0.21.2", + "bincode", + "borsh 0.9.3", + "bs58 0.4.0", + "lazy_static", + "log", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-address-lookup-table-program", + "solana-sdk", + "spl-associated-token-account", + "spl-memo", + "spl-token", + "spl-token-2022", + "thiserror", +] + +[[package]] +name = "solana-udp-client" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa1e4d8b26360621b08d899b306db9c855fed7c3b7e325bd585e62ba068b2ba2" +dependencies = [ + "async-trait", + "solana-connection-cache", + "solana-net-utils", + "solana-sdk", + "solana-streamer", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-version" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c563989feb6af907aada46d81680dd5982511f6fc793cdf09a674d69725b5bb0" +dependencies = [ + "log", + "rustc_version", + "semver", + "serde", + "serde_derive", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-sdk", +] + +[[package]] +name = "solana-vote-program" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4509784e34e7f85458108370b7f80c2a67f8e8415468201791e8ab8676a6f03c" +dependencies = [ + "bincode", + "log", + "num-derive", + "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-sdk" +version = "1.16.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dec0724d3b8c469aafe87c97703ed1f9ddde5ce5df1419fd3d7018d3a41486e" +dependencies = [ + "aes-gcm-siv", + "base64 0.21.2", + "bincode", + "bytemuck", + "byteorder", + "curve25519-dalek", + "getrandom 0.1.16", + "itertools", + "lazy_static", + "merlin", + "num-derive", + "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.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3082ec3a1d4ef7879eb5b84916d5acde057abd59733eec3647e0ab8885283ef" +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 = "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 = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978dba3bcbe88d0c2c58366c254d9ea41c5f73357e72fc0bdee4d6b5fc99c8f4" +dependencies = [ + "assert_matches", + "borsh 0.9.3", + "num-derive", + "num-traits", + "solana-program", + "spl-token", + "spl-token-2022", + "thiserror", +] + +[[package]] +name = "spl-memo" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" +dependencies = [ + "solana-program", +] + +[[package]] +name = "spl-token" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum 0.5.11", + "solana-program", + "thiserror", +] + +[[package]] +name = "spl-token-2022" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0043b590232c400bad5ee9eb983ced003d15163c4c5d56b090ac6d9a57457b47" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum 0.5.11", + "solana-program", + "solana-zk-token-sdk", + "spl-memo", + "spl-token", + "thiserror", +] + +[[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 = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] +name = "superslice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" + +[[package]] +name = "switchboard-common" +version = "0.8.6" +dependencies = [ + "getrandom 0.2.10", + "hex", + "serde", + "serde_json", + "sgx-quote", + "sha2 0.10.7", +] + +[[package]] +name = "switchboard-solana" +version = "0.28.2" +dependencies = [ + "anchor-client", + "anchor-lang", + "anchor-spl", + "bincode", + "bytemuck", + "chrono", + "cron", + "hex", + "rust_decimal", + "sgx-quote", + "solana-address-lookup-table-program", + "solana-client", + "solana-program", + "superslice", + "switchboard-common", + "tokio", +] + +[[package]] +name = "syn" +version = "0.15.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "unicode-xid 0.1.0", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", + "unicode-xid 0.2.4", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" +dependencies = [ + "cfg-if", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] +name = "thiserror" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "time" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi", +] + +[[package]] +name = "time" +version = "0.3.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" +dependencies = [ + "deranged", + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + +[[package]] +name = "time-macros" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" +dependencies = [ + "time-core", +] + +[[package]] +name = "tiny-bip39" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" +dependencies = [ + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash", + "sha2 0.9.9", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + +[[package]] +name = "tinyvec" +version = "1.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.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d0183f6f6001549ab68f8c7585093bb732beefbcf6d23a10b9b95c73a1dd49" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "once_cell", + "parking_lot 0.11.2", + "pin-project-lite", + "signal-hook-registry", + "tokio-macros", + "winapi", +] + +[[package]] +name = "tokio-macros" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 1.0.109", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-stream" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f714dd15bead90401d77e04243611caec13726c2408afd5b31901dfcdcb3b181" +dependencies = [ + "futures-util", + "log", + "rustls", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki", + "webpki-roots", +] + +[[package]] +name = "tokio-util" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f988a1a1adc2fb21f9c12aa96441da33a1728193ae0b95d2be22dbd17fcb4e5c" +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 = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" + +[[package]] +name = "toml_edit" +version = "0.19.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" +dependencies = [ + "indexmap 2.0.0", + "toml_datetime", + "winnow", +] + +[[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.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "tungstenite" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" +dependencies = [ + "base64 0.13.1", + "byteorder", + "bytes", + "http", + "httparse", + "log", + "rand 0.8.5", + "rustls", + "sha-1", + "thiserror", + "url", + "utf-8", + "webpki", + "webpki-roots", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" + +[[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 = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +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 = "uuid" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" + +[[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 = "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.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[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.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote 1.0.32", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + +[[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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[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" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.1", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winnow" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f46aab759304e4d7b2075a9aecba26228bb073ee8c50db796b2c72c676b5d807" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "x509-parser" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +dependencies = [ + "asn1-rs", + "base64 0.13.1", + "data-encoding", + "der-parser", + "lazy_static", + "nom 7.1.3", + "oid-registry", + "rusticata-macros", + "thiserror", + "time 0.3.25", +] + +[[package]] +name = "yasna" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +dependencies = [ + "time 0.3.25", +] + +[[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 1.0.66", + "quote 1.0.32", + "syn 2.0.28", +] + +[[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.8+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +dependencies = [ + "cc", + "libc", + "pkg-config", +] diff --git a/examples/functions/05_raffle_program/Cargo.toml b/examples/functions/05_raffle_program/Cargo.toml new file mode 100644 index 000000000..c6f66a8ce --- /dev/null +++ b/examples/functions/05_raffle_program/Cargo.toml @@ -0,0 +1,32 @@ +[workspace] +members = ["."] + +[package] +name = "raffle-program" +version = "0.1.0" +description = "Created with Anchor" +edition = "2021" + +[profile.release] +overflow-checks = true +lto = "fat" +codegen-units = 1 +[profile.release.build-override] +opt-level = 3 +incremental = false +codegen-units = 1 + +[lib] +crate-type = ["cdylib", "lib"] +name = "raffle_program" + +[features] +no-entrypoint = [] +no-idl = [] +no-log-ix-name = [] +cpi = ["no-entrypoint"] +default = [] + +[dependencies] +# switchboard-solana = "0.28.4" +switchboard-solana = { version = "0.28.4", path = "../../../rust/switchboard-solana" } diff --git a/examples/functions/05_raffle_program/Xargo.toml b/examples/functions/05_raffle_program/Xargo.toml new file mode 100644 index 000000000..475fb71ed --- /dev/null +++ b/examples/functions/05_raffle_program/Xargo.toml @@ -0,0 +1,2 @@ +[target.bpfel-unknown-unknown.dependencies.std] +features = [] diff --git a/examples/functions/05_raffle_program/package.json b/examples/functions/05_raffle_program/package.json new file mode 100644 index 000000000..694c65e47 --- /dev/null +++ b/examples/functions/05_raffle_program/package.json @@ -0,0 +1,23 @@ +{ + "name": "solana-raffle-program", + "scripts": { + "lint:fix": "prettier */*.js \"*/**/*{.js,.ts}\" -w", + "lint": "prettier */*.js \"*/**/*{.js,.ts}\" --check" + }, + "dependencies": { + "@coral-xyz/anchor": "^0.28.0", + "@switchboard-xyz/common": "^2.3.0", + "@switchboard-xyz/solana.js": "^2.5.0" + }, + "devDependencies": { + "@types/bn.js": "^5.1.0", + "@types/chai": "^4.3.0", + "@types/mocha": "^9.0.0", + "chai": "^4.3.4", + "mocha": "^9.0.3", + "prettier": "^2.6.2", + "ts-mocha": "^10.0.0", + "tsx": "^3.12.7", + "typescript": "^4.3.5" + } +} diff --git a/examples/functions/05_raffle_program/sgx-function/.dockerignore b/examples/functions/05_raffle_program/sgx-function/.dockerignore new file mode 100644 index 000000000..7e9b08685 --- /dev/null +++ b/examples/functions/05_raffle_program/sgx-function/.dockerignore @@ -0,0 +1,3 @@ +target/ +Makefile +README.md \ No newline at end of file diff --git a/examples/functions/05_raffle_program/sgx-function/Cargo.lock b/examples/functions/05_raffle_program/sgx-function/Cargo.lock new file mode 100644 index 000000000..c40fb0c02 --- /dev/null +++ b/examples/functions/05_raffle_program/sgx-function/Cargo.lock @@ -0,0 +1,5495 @@ +# 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 = "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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.10", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "getrandom 0.2.10", + "once_cell", + "version_check", +] + +[[package]] +name = "aho-corasick" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +dependencies = [ + "memchr", +] + +[[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.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "faa5be5b72abea167f87c868379ba3c2be356bfca9e6f474fd055fa0f7eeb4f2" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2 1.0.63", + "quote 1.0.28", + "regex", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-account" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f468970344c7c9f9d03b4da854fd7c54f21305059f53789d0045c1dd803f0018" +dependencies = [ + "anchor-syn", + "anyhow", + "bs58 0.5.0", + "proc-macro2 1.0.63", + "quote 1.0.28", + "rustversion", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-constant" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59948e7f9ef8144c2aefb3f32a40c5fce2798baeec765ba038389e82301017ef" +dependencies = [ + "anchor-syn", + "proc-macro2 1.0.63", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-error" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc753c9d1c7981cb8948cf7e162fb0f64558999c0413058e2d43df1df5448086" +dependencies = [ + "anchor-syn", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-event" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f38b4e172ba1b52078f53fdc9f11e3dc0668ad27997838a0aad2d148afac8c97" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "anchor-attribute-program" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eebd21543606ab61e2d83d9da37d24d3886a49f390f9c43a1964735e8c0f0d5" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "anchor-client" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8434a6bf33efba0c93157f7fa2fafac658cb26ab75396886dcedd87c2a8ad445" +dependencies = [ + "anchor-lang", + "anyhow", + "futures", + "regex", + "serde", + "solana-account-decoder", + "solana-client", + "solana-sdk", + "thiserror", + "tokio", + "url", +] + +[[package]] +name = "anchor-derive-accounts" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec4720d899b3686396cced9508f23dab420f1308344456ec78ef76f98fda42af" +dependencies = [ + "anchor-syn", + "anyhow", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "anchor-derive-space" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f495e85480bd96ddeb77b71d499247c7d4e8b501e75ecb234e9ef7ae7bd6552a" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "anchor-lang" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d2d4b20100f1310a774aba3471ef268e5c4ba4d5c28c0bbe663c2658acbc414" +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-space", + "arrayref", + "base64 0.13.1", + "bincode", + "borsh 0.10.3", + "bytemuck", + "getrandom 0.2.10", + "solana-program", + "thiserror", +] + +[[package]] +name = "anchor-spl" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78f860599da1c2354e7234c768783049eb42e2f54509ecfc942d2e0076a2da7b" +dependencies = [ + "anchor-lang", + "solana-program", + "spl-associated-token-account", + "spl-token", + "spl-token-2022", +] + +[[package]] +name = "anchor-syn" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a125e4b0cc046cfec58f5aa25038e34cf440151d58f0db3afc55308251fe936d" +dependencies = [ + "anyhow", + "bs58 0.5.0", + "heck 0.3.3", + "proc-macro2 1.0.63", + "quote 1.0.28", + "serde", + "serde_json", + "sha2 0.10.7", + "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.71" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" + +[[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.3", + "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 1.0.28", + "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.3", + "num-traits", + "proc-macro2 1.0.63", + "quote 1.0.28", + "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.3", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "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 = "array-bytes" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ad284aeb45c13f2fb4f084de4a420ebf447423bdf9386c0540ce33cb3ef4b8c" + +[[package]] +name = "arrayref" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[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 7.1.3", + "num-traits", + "rusticata-macros", + "thiserror", + "time 0.3.22", +] + +[[package]] +name = "asn1-rs-derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "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 1.0.63", + "quote 1.0.28", + "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.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-compression" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "942c7cd7ae39e91bde4820d74132e9862e62c2f386c3aa90ccf55949f5bad63a" +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.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ccdd8f2a161be9bd5c023df56f1b2a0bd1d83872ae53b71a84a12c9bf6e842" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[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.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" + +[[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 = "bitmaps" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031043d04099746d8db04daf1fa424b2bc8bd69d92b25962dcde24da39ab64a2" +dependencies = [ + "typenum", +] + +[[package]] +name = "bitvec" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c" +dependencies = [ + "funty", + "radium", + "tap", + "wyz", +] + +[[package]] +name = "blake3" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "729b71f35bd3fa1a4c86b85d32c8b9069ea7fe14f7a53cfabb65f62d4265b888" +dependencies = [ + "arrayref", + "arrayvec 0.7.4", + "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-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 1.0.63", + "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 1.0.63", + "syn 1.0.109", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "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 1.0.63", + "quote 1.0.28", + "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 1.0.63", + "quote 1.0.28", + "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 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "brotli" +version = "3.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a0b1dbcc8ae29329621f8d4f0d835787c1c38bb1401979b49d13b0b305ff68" +dependencies = [ + "alloc-no-stdlib", + "alloc-stdlib", + "brotli-decompressor", +] + +[[package]] +name = "brotli-decompressor" +version = "2.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b6561fd3f895a11e8f72af2cb7d22e08366bebc2b6b57f7744c4bda27034744" +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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5353f36341f7451062466f0b755b96ac3a9547e4d7f6b70d603fc721a7d7896" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "bumpalo" +version = "3.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" + +[[package]] +name = "bv" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8834bb1d8ee5dc048ee3124f2c7c1afcc6bc9aed03f11e9dfd8c69470a5db340" +dependencies = [ + "feature-probe", + "serde", +] + +[[package]] +name = "bytecheck" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b6372023ac861f6e6dc89c8344a8f398fb42aaba2b5dbc649ca0c0e9dbcb627" +dependencies = [ + "bytecheck_derive", + "ptr_meta", + "simdutf8", +] + +[[package]] +name = "bytecheck_derive" +version = "0.6.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "bytemuck" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" + +[[package]] +name = "bytestring" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "238e4886760d98c4f899360c834fa93e62cf7f721ac3c2da375cbdf4b8679aae" +dependencies = [ + "bytes", +] + +[[package]] +name = "caps" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" +dependencies = [ + "libc", + "thiserror", +] + +[[package]] +name = "cc" +version = "1.0.79" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "js-sys", + "num-traits", + "serde", + "time 0.1.45", + "wasm-bindgen", + "winapi", +] + +[[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", + "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", + "clap_lex", + "indexmap 1.9.3", + "once_cell", + "strsim 0.10.0", + "termcolor", + "textwrap 0.16.0", +] + +[[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.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "console" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.45.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.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "cpufeatures" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "cron" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ff76b51e4c068c52bfd2866e1567bee7c567ae8f24ada09fd4307019e25eab7" +dependencies = [ + "chrono", + "nom 7.1.3", + "once_cell", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" +dependencies = [ + "autocfg", + "cfg-if", + "crossbeam-utils", + "memoffset 0.9.0", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "crypto-mac" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" +dependencies = [ + "generic-array", + "subtle", +] + +[[package]] +name = "ctr" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" +dependencies = [ + "cipher", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90f9d052967f590a76e62eb387bd0bbb1b000182c3cefe5364db6b7211651bc0" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "serde", + "subtle", + "zeroize", +] + +[[package]] +name = "darling" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2 1.0.63", + "quote 1.0.28", + "strsim 0.10.0", + "syn 2.0.22", +] + +[[package]] +name = "darling_macro" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +dependencies = [ + "darling_core", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "data-encoding" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" + +[[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 7.1.3", + "num-bigint 0.4.3", + "num-traits", + "rusticata-macros", +] + +[[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 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "dialoguer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59c6f2989294b9a498d3ad5491a79c6deb604617378e1cdc4bfc1c1361fe2f87" +dependencies = [ + "console", + "shell-words", + "tempfile", + "zeroize", +] + +[[package]] +name = "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 = "displaydoc" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "dlopen" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71e80ad39f814a9abe68583cd50a2d45c8a67561c3361ab8da240587dda80937" +dependencies = [ + "dlopen_derive", + "lazy_static", + "libc", + "winapi", +] + +[[package]] +name = "dlopen_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f236d9e1b1fbd81cea0f9cbdc8dcc7e8ebcd80e6659cd7cb2ad5f6c05946c581" +dependencies = [ + "libc", + "quote 0.6.13", + "syn 0.15.44", +] + +[[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.7", +] + +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "enum-iterator" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7add3873b5dd076766ee79c8e406ad1a472c385476b9e38849f8eec24f1be689" +dependencies = [ + "enum-iterator-derive", +] + +[[package]] +name = "enum-iterator-derive" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1" + +[[package]] +name = "errno" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +dependencies = [ + "errno-dragonfly", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "errno-dragonfly" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + +[[package]] +name = "feature-probe" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "835a3dc7d1ec9e75e2b5fb4ba75396837112d2060b03f7d43bc1897c7f7211da" + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "funty" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" + +[[package]] +name = "futures" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" + +[[package]] +name = "futures-executor" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" + +[[package]] +name = "futures-macro" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + +[[package]] +name = "futures-task" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" + +[[package]] +name = "futures-util" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" +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.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" +dependencies = [ + "cfg-if", + "js-sys", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", + "wasm-bindgen", +] + +[[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.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97ec8491ebaf99c8eaa73058b045fe58073cd6be7f596ac993ced0b0a0c01049" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap 1.9.3", + "slab", + "tokio", + "tokio-util", + "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.6", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.6", +] + +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.3", +] + +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + +[[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.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" +dependencies = [ + "libc", +] + +[[package]] +name = "hermit-abi" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +dependencies = [ + "serde", +] + +[[package]] +name = "histogram" +version = "0.6.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12cb882ccb290b8646e554b157ab0b71e64e8d5bef775cd66b6531e52d302669" + +[[package]] +name = "hmac" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" +dependencies = [ + "crypto-mac", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.7", +] + +[[package]] +name = "hmac-drbg" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" +dependencies = [ + "digest 0.9.0", + "generic-array", + "hmac 0.8.1", +] + +[[package]] +name = "http" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" +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.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" + +[[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.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" +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.23.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +dependencies = [ + "http", + "hyper", + "rustls", + "tokio", + "tokio-rustls", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows", +] + +[[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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +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 = "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.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "indicatif" +version = "0.17.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" +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 = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi 0.3.1", + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "ipnet" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" + +[[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.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" + +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jsonpath-rust" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7ea2fa3ba7d1404aa6b094aceec1d49106ec0110b40c40b76cedae148837a3b" +dependencies = [ + "pest", + "pest_derive", + "regex", + "serde_json", +] + +[[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.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" +dependencies = [ + "cpufeatures", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lexical-core" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" +dependencies = [ + "arrayvec 0.5.2", + "bitflags", + "cfg-if", + "ryu", + "static_assertions", +] + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[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 = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + +[[package]] +name = "lock_api" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +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.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + +[[package]] +name = "mio" +version = "0.7.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" +dependencies = [ + "libc", + "log", + "miow", + "ntapi", + "winapi", +] + +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi", +] + +[[package]] +name = "multimap" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a" + +[[package]] +name = "native-tls" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "nix" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset 0.7.1", + "pin-utils", + "static_assertions", +] + +[[package]] +name = "nom" +version = "5.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b" +dependencies = [ + "lexical-core", + "memchr", + "version_check", +] + +[[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 = "ntapi" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f" +dependencies = [ + "winapi", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +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-derive" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-iter" +version = "0.1.43" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252" +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.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +dependencies = [ + "hermit-abi 0.2.6", + "libc", +] + +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive 0.5.11", +] + +[[package]] +name = "num_enum" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a015b430d3c108a207fd776d2e2196aaf8b1cf8cf93253e3a097ff3085076a1" +dependencies = [ + "num_enum_derive 0.6.1", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "num_enum_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + +[[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.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "openssl" +version = "0.10.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-sys" +version = "0.9.90" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "os_str_bytes" +version = "6.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.8", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.3.5", + "smallvec", + "windows-targets 0.48.1", +] + +[[package]] +name = "paste" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "percentage" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2fd23b938276f14057220b707937bcb42fa76dda7560e57a2da30cb52d557937" +dependencies = [ + "num", +] + +[[package]] +name = "pest" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f73935e4d55e2abf7f130186537b19e7a4abc886a0252380b59248af473a3fc9" +dependencies = [ + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aef623c9bbfa0eedf5a0efba11a5ee83209c326653ca31ff019bec3a95bfff2b" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3e8cba4ec22bada7fc55ffe51e2deb6a0e0db2d0b7ab0b103acc80d2510c190" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "pest_meta" +version = "2.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a01f71cb40bd8bb94232df14b946909e14660e33fc05db3e50ae2a82d7ea0ca0" +dependencies = [ + "once_cell", + "pest", + "sha2 0.10.7", +] + +[[package]] +name = "petgraph" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +dependencies = [ + "fixedbitset", + "indexmap 1.9.3", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" + +[[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.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "plain" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" + +[[package]] +name = "polyval" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "portable-atomic" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "prettyplease" +version = "0.1.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" +dependencies = [ + "proc-macro2 1.0.63", + "syn 1.0.109", +] + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[package]] +name = "proc-macro-crate" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" +dependencies = [ + "once_cell", + "toml_edit", +] + +[[package]] +name = "proc-macro2" +version = "0.4.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759" +dependencies = [ + "unicode-xid 0.1.0", +] + +[[package]] +name = "proc-macro2" +version = "1.0.63" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prost" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" +dependencies = [ + "bytes", + "heck 0.4.1", + "itertools", + "lazy_static", + "log", + "multimap", + "petgraph", + "prettyplease", + "prost", + "prost-types", + "pulldown-cmark", + "pulldown-cmark-to-cmark", + "regex", + "syn 1.0.109", + "tempfile", + "which", +] + +[[package]] +name = "prost-derive" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" +dependencies = [ + "anyhow", + "itertools", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "prost-types" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" +dependencies = [ + "prost", +] + +[[package]] +name = "ptr_meta" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0738ccf7ea06b608c10564b31debd4f5bc5e197fc8bfe088f68ae5ce81e7a4f1" +dependencies = [ + "ptr_meta_derive", +] + +[[package]] +name = "ptr_meta_derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "pulldown-cmark" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a1a2f1f0a7ecff9c31abbe177637be0e97a0aef46cf8738ece09327985d998" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + +[[package]] +name = "pulldown-cmark-to-cmark" +version = "10.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0194e6e1966c23cc5fd988714f85b18d548d773e81965413555d96569931833d" +dependencies = [ + "pulldown-cmark", +] + +[[package]] +name = "qstring" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d464fae65fff2680baf48019211ce37aaec0c78e9264c84a3e484717f965104e" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "quinn" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "445cbfe2382fa023c4f2f3c7e1c95c03dcc1df2bf23cebcb2b13e1402c4394d1" +dependencies = [ + "bytes", + "pin-project-lite", + "quinn-proto", + "quinn-udp", + "rustc-hash", + "rustls", + "thiserror", + "tokio", + "tracing", + "webpki", +] + +[[package]] +name = "quinn-proto" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c" +dependencies = [ + "bytes", + "rand 0.8.5", + "ring", + "rustc-hash", + "rustls", + "rustls-native-certs", + "slab", + "thiserror", + "tinyvec", + "tracing", + "webpki", +] + +[[package]] +name = "quinn-udp" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "641538578b21f5e5c8ea733b736895576d0fe329bb883b937db6f4d163dbaaf4" +dependencies = [ + "libc", + "quinn-proto", + "socket2", + "tracing", + "windows-sys 0.42.0", +] + +[[package]] +name = "quote" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1" +dependencies = [ + "proc-macro2 0.4.30", +] + +[[package]] +name = "quote" +version = "1.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" +dependencies = [ + "proc-macro2 1.0.63", +] + +[[package]] +name = "radium" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.10", +] + +[[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.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "num_cpus", +] + +[[package]] +name = "rcgen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" +dependencies = [ + "pem", + "ring", + "time 0.3.22", + "yasna", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "redox_syscall" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" + +[[package]] +name = "rend" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "581008d2099240d37fb08d77ad713bcaec2c4d89d50b5b21a8bb1996bbab68ab" +dependencies = [ + "bytecheck", +] + +[[package]] +name = "reqwest" +version = "0.11.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" +dependencies = [ + "async-compression", + "base64 0.21.2", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "hyper", + "hyper-rustls", + "hyper-tls", + "ipnet", + "js-sys", + "log", + "mime", + "native-tls", + "once_cell", + "percent-encoding", + "pin-project-lite", + "rustls", + "rustls-pemfile", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "tokio-rustls", + "tokio-util", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", + "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", + "untrusted", + "web-sys", + "winapi", +] + +[[package]] +name = "rkyv" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0200c8230b013893c0b2d6213d6ec64ed2b9be2e0e016682b7224ff82cff5c58" +dependencies = [ + "bitvec", + "bytecheck", + "hashbrown 0.12.3", + "ptr_meta", + "rend", + "rkyv_derive", + "seahash", + "tinyvec", + "uuid", +] + +[[package]] +name = "rkyv_derive" +version = "0.7.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "rpassword" +version = "7.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6678cf63ab3491898c0d021b493c94c9b221d91295294a2a5746eacbe5928322" +dependencies = [ + "libc", + "rtoolbox", + "winapi", +] + +[[package]] +name = "rtoolbox" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "034e22c514f5c0cb8a10ff341b9b048b5ceb21591f31c8f44c43b960f9b3524a" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "rust_decimal" +version = "1.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0446843641c69436765a35a5a77088e28c2e6a12da93e84aa3ab1cd4aa5a042" +dependencies = [ + "arrayvec 0.7.4", + "borsh 0.10.3", + "bytecheck", + "byteorder", + "bytes", + "num-traits", + "rand 0.8.5", + "rkyv", + "serde", + "serde_json", +] + +[[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 7.1.3", +] + +[[package]] +name = "rustix" +version = "0.37.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b96e891d04aa506a6d1f318d2771bcb1c7dfda84e126660ace067c9b474bb2c0" +dependencies = [ + "bitflags", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustls" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +dependencies = [ + "log", + "ring", + "sct", + "webpki", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +dependencies = [ + "base64 0.21.2", +] + +[[package]] +name = "rustversion" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" + +[[package]] +name = "ryu" +version = "1.0.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" + +[[package]] +name = "schannel" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +dependencies = [ + "windows-sys 0.42.0", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "scroll" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" +dependencies = [ + "scroll_derive", +] + +[[package]] +name = "scroll_derive" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "seahash" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" + +[[package]] +name = "security-framework" +version = "2.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "semver" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" + +[[package]] +name = "serde" +version = "1.0.164" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e8c8cf938e98f769bc164923b06dce91cea1751522f46f8466461af04c9027d" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_bytes" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.164" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9735b638ccc51c28bf6914d90a2e9725b377144fc612c49a611fddd1b631d68" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "serde_json" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_with" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +dependencies = [ + "serde", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +dependencies = [ + "darling", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "sgx-quote" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1640577af7b81d10db340c4b31006b77972e3918f351eec4e65c389c8b58e21" +dependencies = [ + "nom 5.1.3", +] + +[[package]] +name = "sha-1" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5058ada175748e33390e40e872bd0fe59a19f265d0158daa551c5a88a76009c" +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.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" +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 = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + +[[package]] +name = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" + +[[package]] +name = "simdutf8" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" + +[[package]] +name = "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.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" + +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "solana-account-decoder" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "380584cb468a1eb2ea79495c0c574ca09a11bf6796093b97a48a94cd98fe5b30" +dependencies = [ + "Inflector", + "base64 0.21.2", + "bincode", + "bs58 0.4.0", + "bv", + "lazy_static", + "serde", + "serde_derive", + "serde_json", + "solana-address-lookup-table-program", + "solana-config-program", + "solana-sdk", + "spl-token", + "spl-token-2022", + "thiserror", + "zstd", +] + +[[package]] +name = "solana-address-lookup-table-program" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dcdcbe2a61849b7692ac9eb6ad567ea4f333c36272d5d12de554aa2f60fa792" +dependencies = [ + "bincode", + "bytemuck", + "log", + "num-derive", + "num-traits", + "rustc_version", + "serde", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-program", + "solana-program-runtime", + "solana-sdk", + "thiserror", +] + +[[package]] +name = "solana-clap-utils" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fe8a1443f3efac9c351c0b55efa39df488e73bcdd512272cb39e58198dcf9cc" +dependencies = [ + "chrono", + "clap 2.34.0", + "rpassword", + "solana-perf", + "solana-remote-wallet", + "solana-sdk", + "thiserror", + "tiny-bip39", + "uriparse", + "url", +] + +[[package]] +name = "solana-client" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46e6294e67101c8df185e9c371293ff2502bf5b35d4d70eb68472eae135692e5" +dependencies = [ + "async-trait", + "bincode", + "futures", + "futures-util", + "indexmap 1.9.3", + "indicatif", + "log", + "quinn", + "rand 0.7.3", + "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-config-program" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e44cd8bbbc468503ca8d337c91a6f6049ced080be31854d866a25974f1b90619" +dependencies = [ + "bincode", + "chrono", + "serde", + "serde_derive", + "solana-program-runtime", + "solana-sdk", +] + +[[package]] +name = "solana-connection-cache" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e953284f00e9b706032fe36b30054f3c804f37a363fac7d8cb1753a1737cf20b" +dependencies = [ + "async-trait", + "bincode", + "futures-util", + "indexmap 1.9.3", + "log", + "rand 0.7.3", + "rayon", + "rcgen", + "solana-measure", + "solana-metrics", + "solana-sdk", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-frozen-abi" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eea8be57163366de9ffee3652cd42ea02fd5cca672408722f1426eb0d234a330" +dependencies = [ + "ahash 0.8.3", + "blake3", + "block-buffer 0.10.4", + "bs58 0.4.0", + "bv", + "byteorder", + "cc", + "either", + "generic-array", + "getrandom 0.1.16", + "im", + "lazy_static", + "log", + "memmap2", + "once_cell", + "rand_core 0.6.4", + "rustc_version", + "serde", + "serde_bytes", + "serde_derive", + "serde_json", + "sha2 0.10.7", + "solana-frozen-abi-macro", + "subtle", + "thiserror", +] + +[[package]] +name = "solana-frozen-abi-macro" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4121f91307234cec8c8d8cd2d7ec171881c07db2222335e8c840d555ebe89cc" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "rustc_version", + "syn 2.0.22", +] + +[[package]] +name = "solana-logger" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f590904a129707c5bf6b9f2e198e49ce8984e802dad26babd2c406a4e898b0ce" +dependencies = [ + "env_logger", + "lazy_static", + "log", +] + +[[package]] +name = "solana-measure" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26976359ec46d158ce2880d5a31bca4b08e971d29d03c25e9ba80f9a3d42b28e" +dependencies = [ + "log", + "solana-sdk", +] + +[[package]] +name = "solana-metrics" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d97a86ca9bc1c33b77f98502ef0ec133823ebbb813fc60e10c6cf6377bbbdf2" +dependencies = [ + "crossbeam-channel", + "gethostname", + "lazy_static", + "log", + "reqwest", + "solana-sdk", +] + +[[package]] +name = "solana-net-utils" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a63f59abfa214c43b2b0d0360f7a50c180a0e86ea9a16ad7598ca0c9d8843483" +dependencies = [ + "bincode", + "clap 3.2.25", + "crossbeam-channel", + "log", + "nix", + "rand 0.7.3", + "serde", + "serde_derive", + "socket2", + "solana-logger", + "solana-sdk", + "solana-version", + "tokio", + "url", +] + +[[package]] +name = "solana-perf" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7219016f9a81863decafd5256ec0d32d57a8c4e9529f9134fd8727684cc0936" +dependencies = [ + "ahash 0.8.3", + "bincode", + "bv", + "caps", + "curve25519-dalek", + "dlopen", + "dlopen_derive", + "fnv", + "lazy_static", + "libc", + "log", + "nix", + "rand 0.7.3", + "rayon", + "serde", + "solana-metrics", + "solana-rayon-threadlimit", + "solana-sdk", + "solana-vote-program", +] + +[[package]] +name = "solana-program" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19ac28d05adeff2212cdec76dfacc6eb631d69d065b1b83c063a1fab505d5e62" +dependencies = [ + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "array-bytes", + "base64 0.21.2", + "bincode", + "bitflags", + "blake3", + "borsh 0.10.3", + "bs58 0.4.0", + "bv", + "bytemuck", + "cc", + "console_error_panic_hook", + "console_log", + "curve25519-dalek", + "getrandom 0.2.10", + "itertools", + "js-sys", + "lazy_static", + "libc", + "libsecp256k1", + "log", + "memoffset 0.9.0", + "num-bigint 0.4.3", + "num-derive", + "num-traits", + "parking_lot 0.12.1", + "rand 0.7.3", + "rand_chacha 0.2.2", + "rustc_version", + "rustversion", + "serde", + "serde_bytes", + "serde_derive", + "serde_json", + "sha2 0.10.7", + "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.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03cb661d9fe32ec33ba8df554827becd5bcc1758392194420899771344177fb1" +dependencies = [ + "base64 0.21.2", + "bincode", + "eager", + "enum-iterator", + "itertools", + "libc", + "log", + "num-derive", + "num-traits", + "percentage", + "rand 0.7.3", + "rustc_version", + "serde", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-measure", + "solana-metrics", + "solana-sdk", + "solana_rbpf", + "thiserror", +] + +[[package]] +name = "solana-pubsub-client" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a503785ba377f33dd5b1fac75cb60c086ba625c5305f0bf3e687240cdcc7381f" +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.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ede431a588575037db080835f09e9436bb9d5f3b3e19a5592eca3af13da369" +dependencies = [ + "async-mutex", + "async-trait", + "futures", + "itertools", + "lazy_static", + "log", + "quinn", + "quinn-proto", + "quinn-udp", + "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-raffle-program" +version = "0.1.0" +dependencies = [ + "futures", + "switchboard-solana", + "switchboard-utils", + "tokio", +] + +[[package]] +name = "solana-rayon-threadlimit" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4131723cc61f9981c3fa792567c658cf8fa64366331647835c3b88ba0685bad9" +dependencies = [ + "lazy_static", + "num_cpus", +] + +[[package]] +name = "solana-remote-wallet" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c74894d82e6adcd95398dd4d190e6f303e424d47841b20f822a5ec27d5b77473" +dependencies = [ + "console", + "dialoguer", + "log", + "num-derive", + "num-traits", + "parking_lot 0.12.1", + "qstring", + "semver", + "solana-sdk", + "thiserror", + "uriparse", +] + +[[package]] +name = "solana-rpc-client" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4e9519b92e003d763ab2123ac099c32a56f66951cd810d4fa3615a800300860" +dependencies = [ + "async-trait", + "base64 0.21.2", + "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.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac5556080cb9a1c70b782de622ee5840d6e1a256c65ab35a3b8542656ffe69a0" +dependencies = [ + "base64 0.21.2", + "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.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbe69e5bab1a8afc475c1aab69ce53360e76fafa0f5efcc5ce151298be763653" +dependencies = [ + "clap 2.34.0", + "solana-clap-utils", + "solana-rpc-client", + "solana-sdk", + "thiserror", +] + +[[package]] +name = "solana-sdk" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3aa2d54c0e9109d1bf9edafbd86d645217776df783814397f79c3929cf4316ba" +dependencies = [ + "assert_matches", + "base64 0.21.2", + "bincode", + "bitflags", + "borsh 0.10.3", + "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", + "num-derive", + "num-traits", + "num_enum 0.6.1", + "pbkdf2 0.11.0", + "qstring", + "rand 0.7.3", + "rand_chacha 0.2.2", + "rustc_version", + "rustversion", + "serde", + "serde_bytes", + "serde_derive", + "serde_json", + "serde_with", + "sha2 0.10.7", + "sha3 0.10.8", + "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.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa991e6d6ae7c57ef9fc56f964b22f3bae6ba6c144ccb07b0fe07e06a3efc47c" +dependencies = [ + "bs58 0.4.0", + "proc-macro2 1.0.63", + "quote 1.0.28", + "rustversion", + "syn 2.0.22", +] + +[[package]] +name = "solana-streamer" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2500570c1fe541d3e36c3ce318f25dab24dfd6aeab216afafa5c7c161d4979c8" +dependencies = [ + "async-channel", + "bytes", + "crossbeam-channel", + "futures-util", + "histogram", + "indexmap 1.9.3", + "itertools", + "libc", + "log", + "nix", + "pem", + "percentage", + "pkcs8", + "quinn", + "quinn-proto", + "quinn-udp", + "rand 0.7.3", + "rcgen", + "rustls", + "solana-metrics", + "solana-perf", + "solana-sdk", + "thiserror", + "tokio", + "x509-parser", +] + +[[package]] +name = "solana-thin-client" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2fd4ae4d27790ae211f16a6e85a02585b7cae7057f8d555bad3762b4901c" +dependencies = [ + "bincode", + "log", + "rayon", + "solana-connection-cache", + "solana-rpc-client", + "solana-rpc-client-api", + "solana-sdk", +] + +[[package]] +name = "solana-tpu-client" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e56bfe97fb1ab0eb44abb623272648bea404d309e584ba6f8e981e6626cfb0cb" +dependencies = [ + "async-trait", + "bincode", + "futures-util", + "indexmap 1.9.3", + "indicatif", + "log", + "rand 0.7.3", + "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.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e5331f3dfa4a8228dd69b6954859d6aafdd3234b24802690c1f7446bc37df6d" +dependencies = [ + "Inflector", + "base64 0.21.2", + "bincode", + "borsh 0.9.3", + "bs58 0.4.0", + "lazy_static", + "log", + "serde", + "serde_derive", + "serde_json", + "solana-account-decoder", + "solana-address-lookup-table-program", + "solana-sdk", + "spl-associated-token-account", + "spl-memo", + "spl-token", + "spl-token-2022", + "thiserror", +] + +[[package]] +name = "solana-udp-client" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "371e23c982638eeabab1a62bf637c70648b730fc807378042214382c3b550000" +dependencies = [ + "async-trait", + "solana-connection-cache", + "solana-net-utils", + "solana-sdk", + "solana-streamer", + "thiserror", + "tokio", +] + +[[package]] +name = "solana-version" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbad2a5e055b53a7d41e52f98963bcef1ee6ce782f90f1d4ea9237cae1ee87ee" +dependencies = [ + "log", + "rustc_version", + "semver", + "serde", + "serde_derive", + "solana-frozen-abi", + "solana-frozen-abi-macro", + "solana-sdk", +] + +[[package]] +name = "solana-vote-program" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c27089add49014dc9a917ddb95d5af0ab31bd15308adb4bdce78fd72b52d787b" +dependencies = [ + "bincode", + "log", + "num-derive", + "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-sdk" +version = "1.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05aa69c3f19df466a68a26f009e9dc39de671bf022c66fbbfab2d1c021b62a97" +dependencies = [ + "aes-gcm-siv", + "arrayref", + "base64 0.21.2", + "bincode", + "bytemuck", + "byteorder", + "curve25519-dalek", + "getrandom 0.1.16", + "itertools", + "lazy_static", + "merlin", + "num-derive", + "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.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ae90c406f0a2d4a15f08d16c8b64f37997a57611fec0a89f1277854166996e8" +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 = "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 = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978dba3bcbe88d0c2c58366c254d9ea41c5f73357e72fc0bdee4d6b5fc99c8f4" +dependencies = [ + "assert_matches", + "borsh 0.9.3", + "num-derive", + "num-traits", + "solana-program", + "spl-token", + "spl-token-2022", + "thiserror", +] + +[[package]] +name = "spl-memo" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" +dependencies = [ + "solana-program", +] + +[[package]] +name = "spl-token" +version = "3.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum 0.5.11", + "solana-program", + "thiserror", +] + +[[package]] +name = "spl-token-2022" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0043b590232c400bad5ee9eb983ced003d15163c4c5d56b090ac6d9a57457b47" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive", + "num-traits", + "num_enum 0.5.11", + "solana-program", + "solana-zk-token-sdk", + "spl-memo", + "spl-token", + "thiserror", +] + +[[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 = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] +name = "superslice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" + +[[package]] +name = "switchboard-common" +version = "0.8.6" +dependencies = [ + "getrandom 0.2.10", + "hex", + "serde", + "serde_json", + "sgx-quote", + "sha2 0.10.7", +] + +[[package]] +name = "switchboard-solana" +version = "0.28.0" +dependencies = [ + "anchor-client", + "anchor-lang", + "anchor-spl", + "bincode", + "bytemuck", + "chrono", + "cron", + "hex", + "rust_decimal", + "sgx-quote", + "solana-address-lookup-table-program", + "solana-client", + "solana-program", + "superslice", + "switchboard-common", + "tokio", +] + +[[package]] +name = "switchboard-utils" +version = "0.8.0" +dependencies = [ + "bytes", + "bytestring", + "futures-channel", + "futures-util", + "jsonpath-rust", + "prost", + "prost-build", + "reqwest", + "serde", + "serde_derive", + "serde_json", + "switchboard-common", + "tokio", + "url", +] + +[[package]] +name = "syn" +version = "0.15.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5" +dependencies = [ + "proc-macro2 0.4.30", + "quote 0.6.13", + "unicode-xid 0.1.0", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2efbeae7acf4eabd6bcdcbd11c92f45231ddda7539edc7806bd1a04a03b24616" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "unicode-ident", +] + +[[package]] +name = "synstructure" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", + "unicode-xid 0.2.4", +] + +[[package]] +name = "tap" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" + +[[package]] +name = "tempfile" +version = "3.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +dependencies = [ + "autocfg", + "cfg-if", + "fastrand", + "redox_syscall 0.3.5", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "termcolor" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" +dependencies = [ + "winapi-util", +] + +[[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.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" + +[[package]] +name = "thiserror" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "time" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi", +] + +[[package]] +name = "time" +version = "0.3.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" +dependencies = [ + "itoa", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" + +[[package]] +name = "time-macros" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" +dependencies = [ + "time-core", +] + +[[package]] +name = "tiny-bip39" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc59cb9dfc85bb312c3a78fd6aa8a8582e310b0fa885d5bb877f6dcc601839d" +dependencies = [ + "anyhow", + "hmac 0.8.1", + "once_cell", + "pbkdf2 0.4.0", + "rand 0.7.3", + "rustc-hash", + "sha2 0.9.9", + "thiserror", + "unicode-normalization", + "wasm-bindgen", + "zeroize", +] + +[[package]] +name = "tinyvec" +version = "1.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.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9d0183f6f6001549ab68f8c7585093bb732beefbcf6d23a10b9b95c73a1dd49" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "once_cell", + "parking_lot 0.11.2", + "pin-project-lite", + "signal-hook-registry", + "tokio-macros", + "winapi", +] + +[[package]] +name = "tokio-macros" +version = "1.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 1.0.109", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-stream" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tokio-tungstenite" +version = "0.17.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f714dd15bead90401d77e04243611caec13726c2408afd5b31901dfcdcb3b181" +dependencies = [ + "futures-util", + "log", + "rustls", + "tokio", + "tokio-rustls", + "tungstenite", + "webpki", + "webpki-roots", +] + +[[package]] +name = "tokio-util" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f988a1a1adc2fb21f9c12aa96441da33a1728193ae0b95d2be22dbd17fcb4e5c" +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 = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" + +[[package]] +name = "toml_edit" +version = "0.19.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "266f016b7f039eec8a1a80dfe6156b633d208b9fccca5e4db1d6775b0c4e34a7" +dependencies = [ + "indexmap 2.0.0", + "toml_datetime", + "winnow", +] + +[[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.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" +dependencies = [ + "cfg-if", + "log", + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[package]] +name = "tracing-core" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" +dependencies = [ + "once_cell", +] + +[[package]] +name = "try-lock" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" + +[[package]] +name = "tungstenite" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e27992fd6a8c29ee7eef28fc78349aa244134e10ad447ce3b9f0ac0ed0fa4ce0" +dependencies = [ + "base64 0.13.1", + "byteorder", + "bytes", + "http", + "httparse", + "log", + "rand 0.8.5", + "rustls", + "sha-1", + "thiserror", + "url", + "utf-8", + "webpki", + "webpki-roots", +] + +[[package]] +name = "typenum" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" + +[[package]] +name = "ucd-trie" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" + +[[package]] +name = "unicase" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" +dependencies = [ + "version_check", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" + +[[package]] +name = "unicode-ident" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "unicode-xid" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc" + +[[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 = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + +[[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.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +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 = "uuid" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "void" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" + +[[package]] +name = "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.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[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.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" +dependencies = [ + "quote 1.0.28", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" +dependencies = [ + "proc-macro2 1.0.63", + "quote 1.0.28", + "syn 2.0.22", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + +[[package]] +name = "which" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +dependencies = [ + "either", + "libc", + "once_cell", +] + +[[package]] +name = "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.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + +[[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" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" +dependencies = [ + "windows-targets 0.48.1", +] + +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.45.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" +dependencies = [ + "windows-targets 0.42.2", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.1", +] + +[[package]] +name = "windows-targets" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" +dependencies = [ + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", +] + +[[package]] +name = "windows-targets" +version = "0.48.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +dependencies = [ + "windows_aarch64_gnullvm 0.48.0", + "windows_aarch64_msvc 0.48.0", + "windows_i686_gnu 0.48.0", + "windows_i686_msvc 0.48.0", + "windows_x86_64_gnu 0.48.0", + "windows_x86_64_gnullvm 0.48.0", + "windows_x86_64_msvc 0.48.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" + +[[package]] +name = "windows_i686_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" + +[[package]] +name = "windows_i686_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" + +[[package]] +name = "winnow" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca0ace3845f0d96209f0375e6d367e3eb87eb65d27d445bdc9f1843a26f39448" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + +[[package]] +name = "wyz" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed" +dependencies = [ + "tap", +] + +[[package]] +name = "x509-parser" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" +dependencies = [ + "asn1-rs", + "base64 0.13.1", + "data-encoding", + "der-parser", + "lazy_static", + "nom 7.1.3", + "oid-registry", + "rusticata-macros", + "thiserror", + "time 0.3.22", +] + +[[package]] +name = "yasna" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" +dependencies = [ + "time 0.3.22", +] + +[[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 1.0.63", + "quote 1.0.28", + "syn 2.0.22", +] + +[[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.8+zstd.1.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" +dependencies = [ + "cc", + "libc", + "pkg-config", +] diff --git a/examples/functions/05_raffle_program/sgx-function/Cargo.toml b/examples/functions/05_raffle_program/sgx-function/Cargo.toml new file mode 100644 index 000000000..f55ee3cfc --- /dev/null +++ b/examples/functions/05_raffle_program/sgx-function/Cargo.toml @@ -0,0 +1,13 @@ +[workspace] + +[package] +name = "solana-raffle-program" +version = "0.1.0" +edition = "2021" + +[dependencies] +tokio = "^1" +futures = "0.3" +# switchboard-solana = "0.28.4" +switchboard-solana = { version = "0.28.4", path = "../../../../rust/switchboard-solana" } +switchboard-utils = { version = "0.8", path = "../../../../../../rust/switchboard-utils" } diff --git a/examples/functions/05_raffle_program/sgx-function/Dockerfile b/examples/functions/05_raffle_program/sgx-function/Dockerfile new file mode 100644 index 000000000..90db8211c --- /dev/null +++ b/examples/functions/05_raffle_program/sgx-function/Dockerfile @@ -0,0 +1,25 @@ +# syntax=docker/dockerfile:1.4 +FROM switchboardlabs/sgx-function AS builder + +ARG CARGO_NAME=switchboard-function +ENV CARGO_NAME=$CARGO_NAME + +WORKDIR /home/root/switchboard-function +COPY ./Cargo.lock ./Cargo.toml ./ +COPY ./src ./src + +RUN --mount=type=cache,target=/usr/local/cargo/registry,id=${TARGETPLATFORM} \ + --mount=type=cache,target=/home/root/switchboard-function/target,id=${TARGETPLATFORM} \ + cargo build --release && \ + cargo strip && \ + mv target/release/${CARGO_NAME} /sgx/app + +FROM switchboardlabs/sgx-function + +# Copy the binary +COPY --from=builder /sgx/app /sgx + +# Get the measurement from the enclave +RUN /get_measurement.sh + +ENTRYPOINT ["/bin/bash", "/boot.sh"] \ No newline at end of file diff --git a/examples/functions/05_raffle_program/sgx-function/Makefile b/examples/functions/05_raffle_program/sgx-function/Makefile new file mode 100644 index 000000000..aa7f1da6b --- /dev/null +++ b/examples/functions/05_raffle_program/sgx-function/Makefile @@ -0,0 +1,29 @@ +.PHONY: build clean publish test + +# Variables +CARGO_NAME=solana-raffle-program # Cargo.toml name +DOCKER_IMAGE_NAME=gallynaut/solana-raffle-program # Docker registry image name + +DOCKER_BUILD_COMMAND=DOCKER_BUILDKIT=1 docker buildx build --platform linux/amd64 --build-arg CARGO_NAME=${CARGO_NAME} + +# Default make task +all: build + +docker_build: + ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile -t ${DOCKER_IMAGE_NAME} --load ./ +docker_publish: + ${DOCKER_BUILD_COMMAND} --pull -f Dockerfile -t ${DOCKER_IMAGE_NAME} --push ./ + +build: docker_build measurement + +publish: docker_publish measurement + +measurement: + @docker run -d --name my-switchboard-function $(DOCKER_IMAGE_NAME) > /dev/null + @docker cp my-switchboard-function:/measurement.txt measurement.txt + @docker stop my-switchboard-function > /dev/null + @docker rm my-switchboard-function > /dev/null + +# Task to clean up the compiled rust application +clean: + cargo clean diff --git a/examples/functions/05_raffle_program/sgx-function/README.md b/examples/functions/05_raffle_program/sgx-function/README.md new file mode 100644 index 000000000..8781fbaba --- /dev/null +++ b/examples/functions/05_raffle_program/sgx-function/README.md @@ -0,0 +1,86 @@ +
+ + +

Switchboard
Solana Functions Template

+ +

+ + Discord + + + Twitter + +

+
+ +## Switchboard Functions + +Switchboards V3 architecture allows users to permissionlessly build and run any +code you like and we attest the output is from your code. + +## Table of Content + +- [Project Setup](#setup) +- [Examples](./examples/README.md) + - [Binance](./examples/binance/binance.rs) + - [Randomness](./examples/randomness/randomness.rs) + - [Secrets](./examples/secrets/README.md) + +## Setup + +Edit the Makefile with your docker image name. Make sure to include your docker +organization if publishing to the repository (For example: +`switchboard/my-function`). + +## Build + +Run the following command to build the docker image with your custom function + +```bash +make +``` + +You should see a `measurement.txt` in the root of the project containing the +base64 encoding of the MRENCLAVE measurement. You will need to re-generate this +measurement anytime your source code or dependencies change. + +## Publishing + +```bash +make publish +``` + +## Integration + +To get started, you will first need to: + +1. Build your docker image and upload to a Docker/IPFS repository +2. Generate your MRENCLAVE measurement + +Next, you will need to create a Function account for your given MRENCLAVE +measurement. Head over to [app.switchboard.xyz](https://app.switchboard.xyz) and +create a new function with your given repository and MRENCLAVE measurement. + +Alternatively, create a function with the Switchboard CLI: + +```bash +npm i --global @switchboard-xyz/cli + +sbv2 solana function create CkvizjVnm2zA5Wuwan34NhVT3zFc7vqUyGnA6tuEF5aE \ + --name "My Function" \ + --metadata "Basic binance oracle with TWAP" \ + --fundAmount 0.25 \ + --schedule "30 * * * * *" \ + --container switchboardlabs/basic-oracle-function \ + --keypair ~/.config/id/solana.json + +# or fund an existing function +sbv2 solana function fund $MY_FUNCTION_PUBKEY \ + --fundAmount 0.25 \ + --keypair ~/.config/id/solana.json +``` + +## More Info + +See [docs.switchboard.xyz](https://docs.switchboard.xyz/guides/solana/functions) +to get started. diff --git a/examples/functions/05_raffle_program/sgx-function/src/main.rs b/examples/functions/05_raffle_program/sgx-function/src/main.rs new file mode 100644 index 000000000..97465acdf --- /dev/null +++ b/examples/functions/05_raffle_program/sgx-function/src/main.rs @@ -0,0 +1,20 @@ +pub use switchboard_solana::prelude::*; + +pub mod params; +pub use params::*; + +#[tokio::main(worker_threads = 12)] +async fn main() { + // First, initialize the runner instance with a freshly generated Gramine keypair + let runner = FunctionRunner::new_from_cluster(Cluster::Devnet, None).unwrap(); + + // Then, write your own Rust logic and build a Vec of instructions. + // Should be under 700 bytes after serialization + let ixs: Vec = vec![]; + + // TODO: add close_round instruction here to close the raffle round + + // Finally, emit the signed quote and partially signed transaction to the functionRunner oracle + // The functionRunner oracle will use the last outputted word to stdout as the serialized result. This is what gets executed on-chain. + runner.emit(ixs).await.unwrap(); +} diff --git a/examples/functions/05_raffle_program/sgx-function/src/params.rs b/examples/functions/05_raffle_program/sgx-function/src/params.rs new file mode 100644 index 000000000..252c1e551 --- /dev/null +++ b/examples/functions/05_raffle_program/sgx-function/src/params.rs @@ -0,0 +1,76 @@ +use crate::*; +use std::str::FromStr; + +pub struct ContainerParams { + pub program_id: Pubkey, + pub raffle_key: Pubkey, + pub round_close_slot: u64, +} + +impl ContainerParams { + pub fn decode(container_params: &[u8]) -> std::result::Result { + let params = String::from_utf8(container_params.to_vec()).unwrap(); + + let mut program_id: Pubkey = Pubkey::default(); + let mut raffle_key: Pubkey = Pubkey::default(); + let mut round_close_slot: u64 = 0; + + for env_pair in params.split(',') { + let pair: Vec<&str> = env_pair.splitn(2, '=').collect(); + if pair.len() == 2 { + match pair[0] { + "PID" => program_id = Pubkey::from_str(pair[1]).unwrap(), + "RAFFLE" => raffle_key = Pubkey::from_str(pair[1]).unwrap(), + "ROUND_CLOSE_SLOT" => round_close_slot = pair[1].parse::().unwrap(), + _ => {} + } + } + } + + if program_id == Pubkey::default() { + return Err(SwitchboardClientError::CustomMessage( + "PID cannot be undefined".to_string(), + )); + } + + if raffle_key == Pubkey::default() { + return Err(SwitchboardClientError::CustomMessage( + "RAFFLE cannot be undefined".to_string(), + )); + } + + if round_close_slot == 0 { + return Err(SwitchboardClientError::CustomMessage( + "ROUND_CLOSE_SLOT must be greater than 0".to_string(), + )); + } + + Ok(Self { + program_id, + raffle_key, + round_close_slot, + }) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn test_params_decode() { + let request_params_string = format!( + "PID={},RAFFLE={},ROUND_CLOSE_SLOT={}", + anchor_spl::token::ID, + anchor_spl::token::ID, + 8, + ); + let request_params_bytes = request_params_string.into_bytes(); + + let params = ContainerParams::decode(&request_params_bytes).unwrap(); + + assert_eq!(params.program_id, anchor_spl::token::ID); + assert_eq!(params.raffle_key, anchor_spl::token::ID); + assert_eq!(params.round_close_slot, 8); + } +} diff --git a/examples/functions/05_raffle_program/src/actions/close_round.rs b/examples/functions/05_raffle_program/src/actions/close_round.rs new file mode 100644 index 000000000..962942d13 --- /dev/null +++ b/examples/functions/05_raffle_program/src/actions/close_round.rs @@ -0,0 +1,44 @@ +use crate::*; + +#[derive(Accounts)] +pub struct CloseRound<'info> { + #[account( + mut, + seeds = [b"MY_RAFFLE", raffle.load()?.authority.as_ref()], + bump = raffle.load()?.bump, + has_one = function, + constraint = raffle.load()?.current_round.request == request.key() @ MyError::InvalidRequest + )] + pub raffle: AccountLoader<'info, RaffleAccount>, + + // SWITCHBOARD ACCOUNTS + pub function: AccountLoader<'info, FunctionAccountData>, + #[account( + constraint = request.validate_signer( + &function.to_account_info(), + &enclave_signer.to_account_info() + )? + )] + pub request: Box>, + pub enclave_signer: Signer<'info>, +} + +impl CloseRound<'_> { + pub fn validate(&self, _ctx: &Context) -> Result<()> { + Ok(()) + } + + pub fn actuate(ctx: &Context) -> Result<()> { + let mut raffle = ctx.accounts.raffle.load_mut()?; + + if !raffle.ready_to_close() { + return Err(error!(MyError::RoundCloseNotReady)); + } + + raffle.current_round.is_closed = true; + + // Implement your custom logic here + + Ok(()) + } +} diff --git a/examples/functions/05_raffle_program/src/actions/initialize.rs b/examples/functions/05_raffle_program/src/actions/initialize.rs new file mode 100644 index 000000000..4063cc2d3 --- /dev/null +++ b/examples/functions/05_raffle_program/src/actions/initialize.rs @@ -0,0 +1,63 @@ +use crate::*; + +#[derive(Accounts)] +#[instruction(params: InitializeParams)] // rpc parameters hint +pub struct Initialize<'info> { + #[account( + init, + space = 8 + std::mem::size_of::(), + payer = payer, + seeds = [ + b"MY_RAFFLE", + authority.key().as_ref(), + params.recent_slot.to_le_bytes().as_ref() + ], + bump + )] + pub raffle: AccountLoader<'info, RaffleAccount>, + + pub function: AccountLoader<'info, FunctionAccountData>, + + pub authority: AccountInfo<'info>, + + #[account(mut)] + pub payer: Signer<'info>, + + pub system_program: Program<'info, System>, +} + +#[derive(Clone, AnchorSerialize, AnchorDeserialize)] +pub struct InitializeParams { + pub recent_slot: u64, + pub slots_per_round: u32, + pub difficulty: u8, + pub max_entries: u32, + pub max_rounds: u32, +} + +impl Initialize<'_> { + pub fn validate(&self, _ctx: &Context, params: &InitializeParams) -> Result<()> { + if params.slots_per_round >= MAX_SLOTS_PER_ROUND { + return Err(error!(MyError::InvalidRoundLen)); + } + Ok(()) + } + + pub fn actuate(ctx: &Context, params: &InitializeParams) -> Result<()> { + let mut raffle = ctx.accounts.raffle.load_init()?; + raffle.bump = *ctx.bumps.get("raffle").unwrap(); + + + // accounts + raffle.authority = ctx.accounts.authority.key(); + raffle.function = ctx.accounts.function.key(); + + // config + raffle.difficulty = params.difficulty; + raffle.creation_slot = params.recent_slot; + raffle.slots_per_round = params.slots_per_round; + raffle.max_entries = params.max_entries; + raffle.max_rounds = params.max_rounds; + Ok(()) + } +} diff --git a/examples/functions/05_raffle_program/src/actions/mod.rs b/examples/functions/05_raffle_program/src/actions/mod.rs new file mode 100644 index 000000000..9a5ee2d1e --- /dev/null +++ b/examples/functions/05_raffle_program/src/actions/mod.rs @@ -0,0 +1,8 @@ +pub mod initialize; +pub use initialize::*; + +pub mod start_round; +pub use start_round::*; + +pub mod close_round; +pub use close_round::*; diff --git a/examples/functions/05_raffle_program/src/actions/start_round.rs b/examples/functions/05_raffle_program/src/actions/start_round.rs new file mode 100644 index 000000000..fe6493be2 --- /dev/null +++ b/examples/functions/05_raffle_program/src/actions/start_round.rs @@ -0,0 +1,109 @@ +use crate::*; + +#[derive(Accounts)] +pub struct StartRound<'info> { + #[account( + mut, + seeds = [b"MY_RAFFLE", raffle.load()?.authority.as_ref()], + bump = raffle.load()?.bump, + has_one = function, + )] + pub raffle: AccountLoader<'info, RaffleAccount>, + #[account(mut)] + pub function: AccountLoader<'info, FunctionAccountData>, + + /// CHECK: + #[account(executable, address = SWITCHBOARD_ATTESTATION_PROGRAM_ID)] + pub switchboard: AccountInfo<'info>, + /// CHECK: + #[account( + seeds = [STATE_SEED], + seeds::program = switchboard.key(), + bump = state.load()?.bump, + )] + pub state: AccountLoader<'info, AttestationProgramState>, + pub attestation_queue: AccountLoader<'info, AttestationQueueAccountData>, + /// CHECK: + #[account( + mut, + signer, + owner = system_program.key(), + constraint = request.data_len() == 0 && request.lamports() == 0 + )] + pub request: AccountInfo<'info>, + /// CHECK: + #[account( + mut, + owner = system_program.key(), + constraint = request.data_len() == 0 && request.lamports() == 0 + )] + pub request_escrow: AccountInfo<'info>, + // TOKEN ACCOUNTS + pub token_program: Program<'info, Token>, + pub associated_token_program: Program<'info, AssociatedToken>, + #[account(address = anchor_spl::token::spl_token::native_mint::ID)] + pub mint: Account<'info, Mint>, + + #[account(mut)] + pub payer: Signer<'info>, + pub system_program: Program<'info, System>, +} + +impl StartRound<'_> { + pub fn validate(&self, ctx: &Context) -> Result<()> { + // Validate the current round is empty or previously closed + if !ctx.accounts.raffle.load()?.ready_to_start() { + return Err(error!(MyError::RoundStartNotReady)); + } + + Ok(()) + } + + pub fn actuate(ctx: &Context) -> Result<()> { + let timestamp = Clock::get()?.unix_timestamp; + let mut raffle = ctx.accounts.raffle.load_mut()?; + + raffle.previous_round = raffle.current_round; + raffle.current_round = RaffleRound { + id: raffle.previous_round.id.checked_add(1).unwrap(), + is_closed: false, + request: ctx.accounts.request.key(), + open_slot: Clock::get()?.slot, + open_timestamp: timestamp, + close_slot: Clock::get()?.slot + raffle.slots_per_round as u64, + }; + + let request_params = format!( + "PID={},RAFFLE={},ROUND_CLOSE_SLOT={}", + crate::id(), + ctx.accounts.raffle.key(), + { raffle.current_round.close_slot } + ); + + let request_init_ctx = FunctionRequestInitAndTrigger { + request: ctx.accounts.request.clone(), + function: ctx.accounts.function.clone(), + escrow: ctx.accounts.request_escrow.clone(), + mint: ctx.accounts.mint.clone(), + state: ctx.accounts.state.clone(), + attestation_queue: ctx.accounts.attestation_queue.clone(), + payer: ctx.accounts.payer.clone(), + system_program: ctx.accounts.system_program.clone(), + token_program: ctx.accounts.token_program.clone(), + associated_token_program: ctx.accounts.associated_token_program.clone(), + }; + request_init_ctx.invoke( + ctx.accounts.switchboard.clone(), + None, // bounty + None, // expiration + Some(512), // max params len + Some(request_params.into_bytes()), // params + None, // garbage collection slot + None, // valid after slot + )?; + + // TODO: We may need to fund the token account after it gets initialized in the CPI + + Ok(()) + } +} diff --git a/examples/functions/05_raffle_program/src/error.rs b/examples/functions/05_raffle_program/src/error.rs new file mode 100644 index 000000000..11c298c63 --- /dev/null +++ b/examples/functions/05_raffle_program/src/error.rs @@ -0,0 +1,18 @@ +use crate::*; + +#[error_code] +#[derive(Eq, PartialEq)] +pub enum MyError { + #[msg("Invalid authority account")] + InvalidAuthority, + #[msg("Invalid round len")] + InvalidRoundLen, + #[msg("Invalid escrow account")] + InvalidEscrow, + #[msg("round_start not ready")] + RoundStartNotReady, + #[msg("round_close not ready")] + RoundCloseNotReady, + #[msg("Invalid request account")] + InvalidRequest, +} diff --git a/examples/functions/05_raffle_program/src/lib.rs b/examples/functions/05_raffle_program/src/lib.rs new file mode 100644 index 000000000..f55a7f92e --- /dev/null +++ b/examples/functions/05_raffle_program/src/lib.rs @@ -0,0 +1,89 @@ +#![allow(clippy::result_large_err)] +pub use switchboard_solana::prelude::*; + +declare_id!("3uMC4KCYHsY1WopPoGpTWqZdqoNxm6f8EVA4XLZpKYzw"); + +pub mod error; +pub use error::*; + +pub mod actions; +pub use actions::*; + +pub const MAX_SLOTS_PER_ROUND: u32 = u32::MAX / 2; // demo purposes + +/** + * RAFFLE PROGRAM + * + * # ACCOUNTS + * - Raffle: Authority controlled raffle with revolving rounds until a winner is selected and claims the rewards + * - Ticket: PDA of raffle, authority, and guess. Updates vec with entries for easy indexing/checking guesses off-chain + * + * # INSTRUCTIONS + * - Raffle Init: Create the raffle account, function account, request account, and setup the jackpot escrow. Then initiate + * the starting round and trigger the request account + * - User Guess: User submits a guess and pays the raffle entry fee + * - Raffle Draw: SGX Function invokes this instruction to close the round and attempt to select a winner. If the winner account + * doesnt exist then the next round starts. Tickets roll-over to the next round. + * - Raffle Claim: User withdraws funds from the Pot they won. + * - User Guess Close: After a raffle has been settled, users can close their account and re-claim their rent. + * + * # THOUGHTS + * - It would be cool to support some kind of NFT giveaway. We can make the pot PDA controlled and transfer the authority to winner + * - Each raffle should be flexible and easy to integrate with a re-usable function. + * - Requiring users to create accounts and close seems ugly. Instead we should have the entries stored in the raffle account and + * let the raffle authority worry about recouping rent costs. + */ + +#[zero_copy(unsafe)] +pub struct RaffleRound { + pub id: u64, + pub request: Pubkey, + pub is_closed: bool, + pub open_slot: u64, + pub open_timestamp: i64, + pub close_slot: u64, +} + +#[account(zero_copy(unsafe))] +pub struct RaffleAccount { + pub bump: u8, + pub difficulty: u8, // 0 = easy (100% winner), 255 = hard (~1% winner) + pub creation_slot: u64, + + pub authority: Pubkey, + pub function: Pubkey, + pub request: Pubkey, + pub mint: Pubkey, + pub escrow: Pubkey, + + /// The number of slots each round is open for + pub slots_per_round: u32, + /// The maximum number of entries until a winner is + pub max_entries: u32, + pub num_entries: u32, + pub max_rounds: u32, + pub round_num: u32, + pub current_round: RaffleRound, + pub previous_round: RaffleRound, +} + +#[program] +pub mod raffle_program { + use super::*; + + #[access_control(ctx.accounts.validate(&ctx, ¶ms))] + pub fn initialize(ctx: Context, params: InitializeParams) -> Result<()> { + Initialize::actuate(&ctx, ¶ms) + } + + #[access_control(ctx.accounts.validate(&ctx))] + pub fn start_round(ctx: Context) -> Result<()> { + StartRound::actuate(&ctx) + } + + // This is the instruction our function will call after a small delay + #[access_control(ctx.accounts.validate(&ctx))] + pub fn close_round(ctx: Context) -> Result<()> { + CloseRound::actuate(&ctx) + } +} diff --git a/examples/functions/05_raffle_program/tests/raffle-program.ts b/examples/functions/05_raffle_program/tests/raffle-program.ts new file mode 100644 index 000000000..0fe5d9f86 --- /dev/null +++ b/examples/functions/05_raffle_program/tests/raffle-program.ts @@ -0,0 +1,234 @@ +import type { RaffleProgram } from "../target/types/raffle_program"; + +import { printLogs } from "./utils"; + +import type { Program } from "@coral-xyz/anchor"; +import * as anchor from "@coral-xyz/anchor"; +import { + BN, + BNtoDateTimeString, + parseMrEnclave, + parseRawMrEnclave, + sleep, + toUtf8, +} from "@switchboard-xyz/common"; +import type { + BootstrappedAttestationQueue, + FunctionAccount, + SwitchboardWallet, +} from "@switchboard-xyz/solana.js"; +import { + AttestationProgramStateAccount, + attestationTypes, + FunctionRequestAccount, + TransactionObject, +} from "@switchboard-xyz/solana.js"; +import { + AttestationQueueAccount, + NativeMint, + SwitchboardProgram, +} from "@switchboard-xyz/solana.js"; +import assert from "assert"; + +const MRENCLAVE = parseRawMrEnclave( + "0x0162074de74faf6e896b6c0b60341e0edc5470adee26fce7297ccbed306537db", + true +); +// const MRENCLAVE = new Uint8Array(new Array(32).fill(0)); + +describe("raffle-program", () => { + // Configure the client to use the local cluster. + const provider = anchor.AnchorProvider.env(); + anchor.setProvider(provider); + + const program = anchor.workspace.RaffleProgram as Program; + + const payer = (program.provider as anchor.AnchorProvider).publicKey; + const [rafflePubkey, raffleBump] = + anchor.web3.PublicKey.findProgramAddressSync( + [Buffer.from("MY_RAFFLE"), payer.toBytes()], + program.programId + ); + + console.log(`rafflePubkey (${raffleBump}): ${rafflePubkey}`); + + let switchboard: BootstrappedAttestationQueue; + let functionAccount: FunctionAccount; + let requestAccount: FunctionRequestAccount; + let wallet: SwitchboardWallet; + + before(async () => { + const switchboardProgram = await SwitchboardProgram.fromProvider( + program.provider as anchor.AnchorProvider + ); + + let initState = false; + try { + const switchboardStatePubkey = await provider.connection.getAccountInfo( + switchboardProgram.attestationProgramState.publicKey + ); + if (!switchboardStatePubkey || !switchboardStatePubkey.data) { + initState = true; + } + } catch { + initState = true; + } + if (initState) { + await AttestationProgramStateAccount.getOrCreate( + switchboardProgram + ).catch(); + } + + switchboard = await AttestationQueueAccount.bootstrapNewQueue( + switchboardProgram + ); + + [functionAccount] = + await switchboard.attestationQueue.account.createFunction({ + name: "test function", + metadata: "this function handles XYZ for my protocol", + schedule: "15 * * * * *", + container: "switchboardlabs/basic-oracle-function", + version: "latest", + mrEnclave: MRENCLAVE, + // authority: programStatePubkey, + }); + wallet = await functionAccount.wallet; + + console.log( + `state: ${switchboardProgram.attestationProgramState.publicKey}` + ); + console.log(`attestationQueue: ${switchboard.attestationQueue.publicKey}`); + console.log(`function: ${functionAccount.publicKey}`); + }); + + it("Initializes the raffle", async () => { + // Add your test here. + const tx = await program.methods + .initialize({ slotsPerRound: 25 /* seconds */ }) + .accounts({ + raffle: rafflePubkey, + function: functionAccount.publicKey, + payer: payer, + }) + .rpc(); + console.log("initialize transaction signature", tx); + await printLogs(program.provider.connection, tx); + }); + + it("Starts a new round", async () => { + const requestKeypair = anchor.web3.Keypair.generate(); + + requestAccount = new FunctionRequestAccount( + switchboard.program, + requestKeypair.publicKey + ); + + // Add your test here. + const tx = await program.methods + .startRound() + .accounts({ + raffle: rafflePubkey, + function: functionAccount.publicKey, + request: requestAccount.publicKey, + requestEscrow: anchor.utils.token.associatedAddress({ + mint: NativeMint.address, + owner: requestKeypair.publicKey, + }), + mint: NativeMint.address, + state: switchboard.program.attestationProgramState.publicKey, + attestationQueue: switchboard.attestationQueue.publicKey, + switchboard: switchboard.program.attestationProgramId, + payer: payer, + }) + .signers([requestKeypair]) + .rpc(); + console.log("start_round transaction signature", tx); + await printLogs(program.provider.connection, tx); + + const raffleState = await program.account.raffleAccount.fetch(rafflePubkey); + assert( + raffleState.currentRound.closeTimestamp.toNumber() > 0 && + raffleState.currentRound.id.toNumber() === 1, + "Failed to start the round" + ); + console.log( + `closeTimestamp: ${raffleState.currentRound.closeTimestamp.toNumber()} = ${BNtoDateTimeString( + raffleState.currentRound.closeTimestamp as any + )}` + ); + }); + + it("Closes a round", async () => { + let raffleState = await program.account.raffleAccount.fetch(rafflePubkey); + const closeTimestamp = raffleState.currentRound.closeTimestamp.toNumber(); + assert( + raffleState.currentRound.closeTimestamp.toNumber() > 0 && + raffleState.currentRound.id.toNumber() > 0, + "Round is not active" + ); + + const now = Math.round(Date.now() / 1000); + const timeUntilExpiration = closeTimestamp - now; + + console.log(`Need to wait ${timeUntilExpiration}`); + + await sleep(timeUntilExpiration * 1000); + + console.log(`ready to close`); + + const enclaveSigner = anchor.web3.Keypair.generate(); + + const requestState = await requestAccount.loadData(); + + const receiver = await switchboard.program.mint.getOrCreateAssociatedUser( + payer + ); + + const requestVerifyIxn = attestationTypes.functionRequestVerify( + switchboard.program, + { + params: { + observedTime: new BN(Math.floor(Date.now() / 1000)), + mrEnclave: Array.from(MRENCLAVE), + isFailure: false, + requestSlot: requestState.activeRequest.requestSlot, + containerParamsHash: requestState.containerParamsHash, + }, + }, + { + request: requestAccount.publicKey, + function: functionAccount.publicKey, + functionEnclaveSigner: enclaveSigner.publicKey, + verifierQuote: switchboard.verifier.publicKey, + verifierEnclaveSigner: switchboard.verifier.signer.publicKey, + attestationQueue: switchboard.attestationQueue.publicKey, + verifierPermission: switchboard.verifier.permissionAccount.publicKey, + state: switchboard.program.attestationProgramState.publicKey, + escrow: requestAccount.getEscrow(), + functionEscrow: wallet.tokenWallet, + receiver, + tokenProgram: anchor.utils.token.TOKEN_PROGRAM_ID, + } + ); + + const tx = await program.methods + .closeRound() + .accounts({ + raffle: rafflePubkey, + request: requestAccount.publicKey, + function: functionAccount.publicKey, + enclaveSigner: enclaveSigner.publicKey, + }) + .preInstructions([requestVerifyIxn]) + .signers([switchboard.verifier.signer, enclaveSigner]) + .rpc(); + + console.log("close_round transaction signature", tx); + await printLogs(program.provider.connection, tx); + + raffleState = await program.account.raffleAccount.fetch(rafflePubkey); + + assert(raffleState.currentRound.isClosed, "Round is not closed"); + }); +}); diff --git a/examples/functions/05_raffle_program/tests/utils.ts b/examples/functions/05_raffle_program/tests/utils.ts new file mode 100644 index 000000000..a95f6f364 --- /dev/null +++ b/examples/functions/05_raffle_program/tests/utils.ts @@ -0,0 +1,16 @@ +import type * as anchor from "@coral-xyz/anchor"; +import { sleep } from "@switchboard-xyz/common"; + +export async function printLogs( + connection: anchor.web3.Connection, + tx: string, + v0Txn?: boolean, + delay = 3000 +) { + await sleep(delay); + const parsed = await connection.getParsedTransaction(tx, { + commitment: "confirmed", + maxSupportedTransactionVersion: v0Txn ? 0 : undefined, + }); + console.log(parsed?.meta?.logMessages?.join("\n")); +} diff --git a/examples/functions/05_raffle_program/tsconfig.json b/examples/functions/05_raffle_program/tsconfig.json new file mode 100644 index 000000000..d51310f06 --- /dev/null +++ b/examples/functions/05_raffle_program/tsconfig.json @@ -0,0 +1,33 @@ +{ + "compilerOptions": { + "types": [ + "mocha", + "chai" + ], + "typeRoots": [ + "./node_modules/@types" + ], + "lib": [ + "es2015" + ], + "module": "commonjs", + "target": "es6", + "esModuleInterop": true, + "paths": { + "@switchboard-xyz/common": [ + "../../../../../javascript/common" + ], + "@switchboard-xyz/solana.js": [ + "../../../../../javascript/solana.js" + ] + } + }, + "references": [ + { + "path": "../../../../../javascript/common" + }, + { + "path": "../../../../../javascript/solana.js" + } + ] +} \ No newline at end of file diff --git a/examples/vrf/01_vrf_client/Cargo.toml b/examples/vrf/01_vrf_client/Cargo.toml index 519bf862e..f80d4924c 100644 --- a/examples/vrf/01_vrf_client/Cargo.toml +++ b/examples/vrf/01_vrf_client/Cargo.toml @@ -19,5 +19,5 @@ cpi = ["no-entrypoint"] [dependencies] bytemuck = "1.13.1" -# switchboard-solana = "0.28.0" -switchboard-solana = { version = "0.28.0", path = "../../../rust/switchboard-solana" } +# switchboard-solana = "0.28.4" +switchboard-solana = { version = "0.28.4", path = "../../../rust/switchboard-solana" } diff --git a/examples/vrf/01_vrf_client/package.json b/examples/vrf/01_vrf_client/package.json index 5a9f61e8e..b6767027d 100644 --- a/examples/vrf/01_vrf_client/package.json +++ b/examples/vrf/01_vrf_client/package.json @@ -18,9 +18,9 @@ "@project-serum/borsh": "^0.2.5", "@solana/spl-token": "^0.3.6", "@solana/web3.js": "^1.77.3", - "@switchboard-xyz/common": "latest", + "@switchboard-xyz/common": "^2.3.0", "@switchboard-xyz/oracle": "latest", - "@switchboard-xyz/solana.js": "workspace:latest", + "@switchboard-xyz/solana.js": "^2.5.0", "chalk": "^4.1.2", "dotenv": "^16.0.1", "yargs": "^17.5.1" diff --git a/javascript/solana.js/esbuild.js b/javascript/solana.js/esbuild.js index 339884c34..e3b78b361 100644 --- a/javascript/solana.js/esbuild.js +++ b/javascript/solana.js/esbuild.js @@ -1,11 +1,11 @@ /* eslint node/no-unpublished-require: 0 */ /* eslint no-unused-vars: 0 */ +import { execSync } from "child_process"; import { build } from "esbuild"; -import path from "path"; import fs from "fs"; +import path from "path"; import shell from "shelljs"; -import { execSync } from "child_process"; import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); diff --git a/javascript/solana.js/package.json b/javascript/solana.js/package.json index 54b0c29f3..d9f2f1762 100644 --- a/javascript/solana.js/package.json +++ b/javascript/solana.js/package.json @@ -1,6 +1,6 @@ { "name": "@switchboard-xyz/solana.js", - "version": "2.4.8", + "version": "2.5.0", "author": "", "license": "MIT", "description": "A Typescript client to interact with Switchboard on Solana.", @@ -163,8 +163,8 @@ "@coral-xyz/anchor": "^0.28.0", "@coral-xyz/borsh": "^0.28.0", "@solana/spl-token": "^0.3.8", - "@solana/web3.js": "^1.78.0", - "@switchboard-xyz/common": "^2.2.9", + "@solana/web3.js": "^1.78.3", + "@switchboard-xyz/common": "^2.3.0", "cron-validator": "^1.3.1", "dotenv": "^16.3.1", "lodash": "^4.17.21" @@ -176,6 +176,7 @@ "@types/lodash": "^4.14.195", "@types/mocha": "^10.0.1", "@types/shelljs": "^0.8.12", + "anchor-client-gen": "^0.28.1", "chai": "^4.3.7", "chalk": "^4.1.2", "esbuild": "^0.17.19", diff --git a/javascript/solana.js/scripts/generate-client.ts b/javascript/solana.js/scripts/generate-client.ts index d149f9a40..3ba8ffd17 100644 --- a/javascript/solana.js/scripts/generate-client.ts +++ b/javascript/solana.js/scripts/generate-client.ts @@ -11,35 +11,32 @@ import { fileURLToPath } from "url"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); -const projectRoot = path.join(__dirname, ".."); -// const shx = path.join(projectRoot, 'node_modules', '.bin', 'shx'); +const packageRoot = path.join(__dirname, ".."); +// const shx = path.join(packageRoot, 'node_modules', '.bin', 'shx'); -const v2DevnetIdlPath = path.join(projectRoot, "./idl/devnet.json"); -const v2MainnetIdlPath = path.join(projectRoot, "./idl/mainnet.json"); +const v2DevnetIdlPath = path.join(packageRoot, "./idl/devnet.json"); +const v2MainnetIdlPath = path.join(packageRoot, "./idl/mainnet.json"); const v2GeneratedPath = path.join( - projectRoot, + packageRoot, "./src/generated/oracle-program" ); const attestationDevnetIdlPath = path.join( - projectRoot, + packageRoot, "./idl/attestation-devnet.json" ); const attestationGeneratedPath = path.join( - projectRoot, + packageRoot, "./src/generated/attestation-program" ); -const switchboardCoreDir = path.join( - projectRoot, - "../../../switchboard-core/switchboard_v2" -); +const solanaProgramDir = path.join(packageRoot, "../../chains/solana"); const switchboardV2IdlPath = path.join( - switchboardCoreDir, + solanaProgramDir, "target/idl/switchboard_v2.json" ); const switchboardAttestationIdlPath = path.join( - switchboardCoreDir, + solanaProgramDir, "target/idl/switchboard_attestation_program.json" ); @@ -99,7 +96,7 @@ const getAllFiles = async ( }; async function main() { - shell.cd(projectRoot); + shell.cd(packageRoot); // generate IDL types from local directory let devMode = false; diff --git a/javascript/solana.js/scripts/tsconfig.json b/javascript/solana.js/scripts/tsconfig.json index 075c3a2cb..317396d5b 100644 --- a/javascript/solana.js/scripts/tsconfig.json +++ b/javascript/solana.js/scripts/tsconfig.json @@ -1,10 +1,11 @@ { "extends": "../tsconfig.json", "include": [ - "./*.ts" + "./*.ts", + "scripts" ], "compilerOptions": { - "rootDir": "../src", + "rootDir": "../", "noEmit": true, "lib": [ "ES2022" diff --git a/javascript/solana.js/src/accounts/functionAccount.ts b/javascript/solana.js/src/accounts/functionAccount.ts index a96b34589..94e4c31b9 100644 --- a/javascript/solana.js/src/accounts/functionAccount.ts +++ b/javascript/solana.js/src/accounts/functionAccount.ts @@ -73,7 +73,6 @@ export type FunctionAccountInitParams = FunctionAccountInitSeeds & { requestsDisabled?: boolean; requestsRequireAuthorization?: boolean; - requestsDefaultSlotsUntilExpiration?: number; requestsFee?: number; /** @@ -97,7 +96,6 @@ export interface FunctionSetConfigParams { mrEnclaves?: Array; requestsDisabled?: boolean; requestsRequireAuthorization?: boolean; - requestsDefaultSlotsUntilExpiration?: number; requestsFee?: number; authority?: Keypair; @@ -398,10 +396,6 @@ export class FunctionAccount extends Account { requestsDisabled: params.requestsDisabled ?? false, requestsRequireAuthorization: params.requestsRequireAuthorization ?? false, - requestsDefaultSlotsUntilExpiration: numToBN( - params.requestsDefaultSlotsUntilExpiration, - 1000 - ), requestsFee: numToBN(params.requestsFee), creatorSeed: Array.from(creatorSeed), }, @@ -534,11 +528,6 @@ export class FunctionAccount extends Account { requestsDisabled: params.requestsDisabled ?? null, requestsRequireAuthorization: params.requestsRequireAuthorization ?? null, - requestsDefaultSlotsUntilExpiration: - params.requestsDefaultSlotsUntilExpiration && - Number.isFinite(params.requestsDefaultSlotsUntilExpiration) - ? new BN(params.requestsDefaultSlotsUntilExpiration) - : null, requestsFee: params.requestsFee ? new BN(params.requestsFee) : null, }, }, diff --git a/javascript/solana.js/src/accounts/functionRequestAccount.ts b/javascript/solana.js/src/accounts/functionRequestAccount.ts index 73b83bcac..af79a497d 100644 --- a/javascript/solana.js/src/accounts/functionRequestAccount.ts +++ b/javascript/solana.js/src/accounts/functionRequestAccount.ts @@ -57,6 +57,7 @@ export interface FunctionRequestSetConfigParams { export interface FunctionRequestTriggerParams { bounty?: number | BN; slotsUntilExpiration?: BN; + validAfterSlot?: BN; authority?: Keypair; } @@ -261,6 +262,7 @@ export class FunctionRequestAccount extends Account; /** The lamports paid to the FunctionAccount escrow on each successful update request. */ requestsFee: BN; /** The SwitchboardWallet that will handle pre-funding rewards paid out to function runners. */ @@ -157,11 +154,8 @@ export interface FunctionAccountDataJSON { * Useful if you want to use CPIs to control request account creation. */ requestsRequireAuthorization: boolean; - /** - * The number of slots after a request has been verified before allowing a non-authority account to close the account. - * Useful if you want to submit multiple txns in your custom function and need the account to be kept alive for multiple slots. - */ - requestsDefaultSlotsUntilExpiration: string; + /** DEPRECATED. */ + reserved1: Array; /** The lamports paid to the FunctionAccount escrow on each successful update request. */ requestsFee: string; /** The SwitchboardWallet that will handle pre-funding rewards paid out to function runners. */ @@ -244,11 +238,8 @@ export class FunctionAccountData { * Useful if you want to use CPIs to control request account creation. */ readonly requestsRequireAuthorization: boolean; - /** - * The number of slots after a request has been verified before allowing a non-authority account to close the account. - * Useful if you want to submit multiple txns in your custom function and need the account to be kept alive for multiple slots. - */ - readonly requestsDefaultSlotsUntilExpiration: BN; + /** DEPRECATED. */ + readonly reserved1: Array; /** The lamports paid to the FunctionAccount escrow on each successful update request. */ readonly requestsFee: BN; /** The SwitchboardWallet that will handle pre-funding rewards paid out to function runners. */ @@ -301,7 +292,7 @@ export class FunctionAccountData { borsh.u64("numRequests"), borsh.bool("requestsDisabled"), borsh.bool("requestsRequireAuthorization"), - borsh.u64("requestsDefaultSlotsUntilExpiration"), + borsh.array(borsh.u8(), 8, "reserved1"), borsh.u64("requestsFee"), borsh.publicKey("escrowWallet"), borsh.publicKey("escrowTokenWallet"), @@ -342,8 +333,7 @@ export class FunctionAccountData { this.numRequests = fields.numRequests; this.requestsDisabled = fields.requestsDisabled; this.requestsRequireAuthorization = fields.requestsRequireAuthorization; - this.requestsDefaultSlotsUntilExpiration = - fields.requestsDefaultSlotsUntilExpiration; + this.reserved1 = fields.reserved1; this.requestsFee = fields.requestsFee; this.escrowWallet = fields.escrowWallet; this.escrowTokenWallet = fields.escrowTokenWallet; @@ -427,8 +417,7 @@ export class FunctionAccountData { numRequests: dec.numRequests, requestsDisabled: dec.requestsDisabled, requestsRequireAuthorization: dec.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: - dec.requestsDefaultSlotsUntilExpiration, + reserved1: dec.reserved1, requestsFee: dec.requestsFee, escrowWallet: dec.escrowWallet, escrowTokenWallet: dec.escrowTokenWallet, @@ -471,8 +460,7 @@ export class FunctionAccountData { numRequests: this.numRequests.toString(), requestsDisabled: this.requestsDisabled, requestsRequireAuthorization: this.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: - this.requestsDefaultSlotsUntilExpiration.toString(), + reserved1: this.reserved1, requestsFee: this.requestsFee.toString(), escrowWallet: this.escrowWallet.toString(), escrowTokenWallet: this.escrowTokenWallet.toString(), @@ -515,9 +503,7 @@ export class FunctionAccountData { numRequests: new BN(obj.numRequests), requestsDisabled: obj.requestsDisabled, requestsRequireAuthorization: obj.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: new BN( - obj.requestsDefaultSlotsUntilExpiration - ), + reserved1: obj.reserved1, requestsFee: new BN(obj.requestsFee), escrowWallet: new PublicKey(obj.escrowWallet), escrowTokenWallet: new PublicKey(obj.escrowTokenWallet), diff --git a/javascript/solana.js/src/generated/attestation-program/errors/custom.ts b/javascript/solana.js/src/generated/attestation-program/errors/custom.ts index ab209af36..a0fa54f6b 100644 --- a/javascript/solana.js/src/generated/attestation-program/errors/custom.ts +++ b/javascript/solana.js/src/generated/attestation-program/errors/custom.ts @@ -40,7 +40,8 @@ export type CustomError = | FunctionCloseNotReady | RequestAlreadyInitialized | AccountCloseNotPermitted - | AccountCloseNotReady; + | AccountCloseNotReady + | FunctionRequestNotReady; export class GenericError extends Error { static readonly code = 6000; @@ -509,6 +510,17 @@ export class AccountCloseNotReady extends Error { } } +export class FunctionRequestNotReady extends Error { + static readonly code = 6041; + readonly code = 6041; + readonly name = "FunctionRequestNotReady"; + readonly msg = "The FunctionRequestAccount is not ready to be verified"; + + constructor(readonly logs?: string[]) { + super("6041: The FunctionRequestAccount is not ready to be verified"); + } +} + export function fromCode(code: number, logs?: string[]): CustomError | null { switch (code) { case 6000: @@ -593,6 +605,8 @@ export function fromCode(code: number, logs?: string[]): CustomError | null { return new AccountCloseNotPermitted(logs); case 6040: return new AccountCloseNotReady(logs); + case 6041: + return new FunctionRequestNotReady(logs); } return null; diff --git a/javascript/solana.js/src/generated/attestation-program/types/FunctionInitParams.ts b/javascript/solana.js/src/generated/attestation-program/types/FunctionInitParams.ts index d19f83dec..72d15b9a9 100644 --- a/javascript/solana.js/src/generated/attestation-program/types/FunctionInitParams.ts +++ b/javascript/solana.js/src/generated/attestation-program/types/FunctionInitParams.ts @@ -16,7 +16,6 @@ export interface FunctionInitParamsFields { recentSlot: BN; requestsDisabled: boolean; requestsRequireAuthorization: boolean; - requestsDefaultSlotsUntilExpiration: BN; requestsFee: BN; creatorSeed: Array | null; } @@ -32,7 +31,6 @@ export interface FunctionInitParamsJSON { recentSlot: string; requestsDisabled: boolean; requestsRequireAuthorization: boolean; - requestsDefaultSlotsUntilExpiration: string; requestsFee: string; creatorSeed: Array | null; } @@ -48,7 +46,6 @@ export class FunctionInitParams { readonly recentSlot: BN; readonly requestsDisabled: boolean; readonly requestsRequireAuthorization: boolean; - readonly requestsDefaultSlotsUntilExpiration: BN; readonly requestsFee: BN; readonly creatorSeed: Array | null; @@ -63,8 +60,6 @@ export class FunctionInitParams { this.recentSlot = fields.recentSlot; this.requestsDisabled = fields.requestsDisabled; this.requestsRequireAuthorization = fields.requestsRequireAuthorization; - this.requestsDefaultSlotsUntilExpiration = - fields.requestsDefaultSlotsUntilExpiration; this.requestsFee = fields.requestsFee; this.creatorSeed = fields.creatorSeed; } @@ -82,7 +77,6 @@ export class FunctionInitParams { borsh.u64("recentSlot"), borsh.bool("requestsDisabled"), borsh.bool("requestsRequireAuthorization"), - borsh.u64("requestsDefaultSlotsUntilExpiration"), borsh.u64("requestsFee"), borsh.option(borsh.array(borsh.u8(), 32), "creatorSeed"), ], @@ -127,8 +121,6 @@ export class FunctionInitParams { recentSlot: obj.recentSlot, requestsDisabled: obj.requestsDisabled, requestsRequireAuthorization: obj.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: - obj.requestsDefaultSlotsUntilExpiration, requestsFee: obj.requestsFee, creatorSeed: obj.creatorSeed, }); @@ -170,8 +162,6 @@ export class FunctionInitParams { recentSlot: fields.recentSlot, requestsDisabled: fields.requestsDisabled, requestsRequireAuthorization: fields.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: - fields.requestsDefaultSlotsUntilExpiration, requestsFee: fields.requestsFee, creatorSeed: fields.creatorSeed, }; @@ -189,8 +179,6 @@ export class FunctionInitParams { recentSlot: this.recentSlot.toString(), requestsDisabled: this.requestsDisabled, requestsRequireAuthorization: this.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: - this.requestsDefaultSlotsUntilExpiration.toString(), requestsFee: this.requestsFee.toString(), creatorSeed: this.creatorSeed, }; @@ -208,9 +196,6 @@ export class FunctionInitParams { recentSlot: new BN(obj.recentSlot), requestsDisabled: obj.requestsDisabled, requestsRequireAuthorization: obj.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: new BN( - obj.requestsDefaultSlotsUntilExpiration - ), requestsFee: new BN(obj.requestsFee), creatorSeed: obj.creatorSeed, }); diff --git a/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestInitAndTriggerParams.ts b/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestInitAndTriggerParams.ts index b63f6cfed..12e023c16 100644 --- a/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestInitAndTriggerParams.ts +++ b/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestInitAndTriggerParams.ts @@ -11,6 +11,7 @@ export interface FunctionRequestInitAndTriggerParamsFields { maxContainerParamsLen: number | null; containerParams: Uint8Array | null; garbageCollectionSlot: BN | null; + validAfterSlot: BN | null; } export interface FunctionRequestInitAndTriggerParamsJSON { @@ -19,6 +20,7 @@ export interface FunctionRequestInitAndTriggerParamsJSON { maxContainerParamsLen: number | null; containerParams: Array | null; garbageCollectionSlot: string | null; + validAfterSlot: string | null; } export class FunctionRequestInitAndTriggerParams { @@ -27,6 +29,7 @@ export class FunctionRequestInitAndTriggerParams { readonly maxContainerParamsLen: number | null; readonly containerParams: Uint8Array | null; readonly garbageCollectionSlot: BN | null; + readonly validAfterSlot: BN | null; constructor(fields: FunctionRequestInitAndTriggerParamsFields) { this.bounty = fields.bounty; @@ -34,6 +37,7 @@ export class FunctionRequestInitAndTriggerParams { this.maxContainerParamsLen = fields.maxContainerParamsLen; this.containerParams = fields.containerParams; this.garbageCollectionSlot = fields.garbageCollectionSlot; + this.validAfterSlot = fields.validAfterSlot; } static layout(property?: string) { @@ -44,6 +48,7 @@ export class FunctionRequestInitAndTriggerParams { borsh.option(borsh.u32(), "maxContainerParamsLen"), borsh.option(borsh.vecU8(), "containerParams"), borsh.option(borsh.u64(), "garbageCollectionSlot"), + borsh.option(borsh.u64(), "validAfterSlot"), ], property ); @@ -64,6 +69,7 @@ export class FunctionRequestInitAndTriggerParams { )) || null, garbageCollectionSlot: obj.garbageCollectionSlot, + validAfterSlot: obj.validAfterSlot, }); } @@ -81,6 +87,7 @@ export class FunctionRequestInitAndTriggerParams { )) || null, garbageCollectionSlot: fields.garbageCollectionSlot, + validAfterSlot: fields.validAfterSlot, }; } @@ -97,6 +104,8 @@ export class FunctionRequestInitAndTriggerParams { garbageCollectionSlot: (this.garbageCollectionSlot && this.garbageCollectionSlot.toString()) || null, + validAfterSlot: + (this.validAfterSlot && this.validAfterSlot.toString()) || null, }; } @@ -113,6 +122,8 @@ export class FunctionRequestInitAndTriggerParams { garbageCollectionSlot: (obj.garbageCollectionSlot && new BN(obj.garbageCollectionSlot)) || null, + validAfterSlot: + (obj.validAfterSlot && new BN(obj.validAfterSlot)) || null, }); } diff --git a/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestTriggerParams.ts b/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestTriggerParams.ts index 4abe34615..911bdb6e8 100644 --- a/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestTriggerParams.ts +++ b/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestTriggerParams.ts @@ -8,20 +8,24 @@ import { BN } from "@switchboard-xyz/common"; // eslint-disable-line @typescript export interface FunctionRequestTriggerParamsFields { bounty: BN | null; slotsUntilExpiration: BN | null; + validAfterSlot: BN | null; } export interface FunctionRequestTriggerParamsJSON { bounty: string | null; slotsUntilExpiration: string | null; + validAfterSlot: string | null; } export class FunctionRequestTriggerParams { readonly bounty: BN | null; readonly slotsUntilExpiration: BN | null; + readonly validAfterSlot: BN | null; constructor(fields: FunctionRequestTriggerParamsFields) { this.bounty = fields.bounty; this.slotsUntilExpiration = fields.slotsUntilExpiration; + this.validAfterSlot = fields.validAfterSlot; } static layout(property?: string) { @@ -29,6 +33,7 @@ export class FunctionRequestTriggerParams { [ borsh.option(borsh.u64(), "bounty"), borsh.option(borsh.u64(), "slotsUntilExpiration"), + borsh.option(borsh.u64(), "validAfterSlot"), ], property ); @@ -39,6 +44,7 @@ export class FunctionRequestTriggerParams { return new FunctionRequestTriggerParams({ bounty: obj.bounty, slotsUntilExpiration: obj.slotsUntilExpiration, + validAfterSlot: obj.validAfterSlot, }); } @@ -46,6 +52,7 @@ export class FunctionRequestTriggerParams { return { bounty: fields.bounty, slotsUntilExpiration: fields.slotsUntilExpiration, + validAfterSlot: fields.validAfterSlot, }; } @@ -55,6 +62,8 @@ export class FunctionRequestTriggerParams { slotsUntilExpiration: (this.slotsUntilExpiration && this.slotsUntilExpiration.toString()) || null, + validAfterSlot: + (this.validAfterSlot && this.validAfterSlot.toString()) || null, }; } @@ -65,6 +74,8 @@ export class FunctionRequestTriggerParams { bounty: (obj.bounty && new BN(obj.bounty)) || null, slotsUntilExpiration: (obj.slotsUntilExpiration && new BN(obj.slotsUntilExpiration)) || null, + validAfterSlot: + (obj.validAfterSlot && new BN(obj.validAfterSlot)) || null, }); } diff --git a/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestTriggerRound.ts b/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestTriggerRound.ts index 5eeb7c9c6..f27c2ad14 100644 --- a/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestTriggerRound.ts +++ b/javascript/solana.js/src/generated/attestation-program/types/FunctionRequestTriggerRound.ts @@ -23,6 +23,8 @@ export interface FunctionRequestTriggerRoundFields { * valid transactions processed by the function. */ enclaveSigner: PublicKey; + /** The slot when the request can first be executed. */ + validAfterSlot: BN; /** Reserved. */ ebuf: Array; } @@ -45,6 +47,8 @@ export interface FunctionRequestTriggerRoundJSON { * valid transactions processed by the function. */ enclaveSigner: string; + /** The slot when the request can first be executed. */ + validAfterSlot: string; /** Reserved. */ ebuf: Array; } @@ -67,6 +71,8 @@ export class FunctionRequestTriggerRound { * valid transactions processed by the function. */ readonly enclaveSigner: PublicKey; + /** The slot when the request can first be executed. */ + readonly validAfterSlot: BN; /** Reserved. */ readonly ebuf: Array; @@ -78,6 +84,7 @@ export class FunctionRequestTriggerRound { this.expirationSlot = fields.expirationSlot; this.verifier = fields.verifier; this.enclaveSigner = fields.enclaveSigner; + this.validAfterSlot = fields.validAfterSlot; this.ebuf = fields.ebuf; } @@ -91,7 +98,8 @@ export class FunctionRequestTriggerRound { borsh.u64("expirationSlot"), borsh.publicKey("verifier"), borsh.publicKey("enclaveSigner"), - borsh.array(borsh.u8(), 64, "ebuf"), + borsh.u64("validAfterSlot"), + borsh.array(borsh.u8(), 56, "ebuf"), ], property ); @@ -107,6 +115,7 @@ export class FunctionRequestTriggerRound { expirationSlot: obj.expirationSlot, verifier: obj.verifier, enclaveSigner: obj.enclaveSigner, + validAfterSlot: obj.validAfterSlot, ebuf: obj.ebuf, }); } @@ -120,6 +129,7 @@ export class FunctionRequestTriggerRound { expirationSlot: fields.expirationSlot, verifier: fields.verifier, enclaveSigner: fields.enclaveSigner, + validAfterSlot: fields.validAfterSlot, ebuf: fields.ebuf, }; } @@ -133,6 +143,7 @@ export class FunctionRequestTriggerRound { expirationSlot: this.expirationSlot.toString(), verifier: this.verifier.toString(), enclaveSigner: this.enclaveSigner.toString(), + validAfterSlot: this.validAfterSlot.toString(), ebuf: this.ebuf, }; } @@ -148,6 +159,7 @@ export class FunctionRequestTriggerRound { expirationSlot: new BN(obj.expirationSlot), verifier: new PublicKey(obj.verifier), enclaveSigner: new PublicKey(obj.enclaveSigner), + validAfterSlot: new BN(obj.validAfterSlot), ebuf: obj.ebuf, }); } diff --git a/javascript/solana.js/src/generated/attestation-program/types/FunctionSetConfigParams.ts b/javascript/solana.js/src/generated/attestation-program/types/FunctionSetConfigParams.ts index a88a8b093..3b57c567d 100644 --- a/javascript/solana.js/src/generated/attestation-program/types/FunctionSetConfigParams.ts +++ b/javascript/solana.js/src/generated/attestation-program/types/FunctionSetConfigParams.ts @@ -15,7 +15,6 @@ export interface FunctionSetConfigParamsFields { mrEnclaves: Array> | null; requestsDisabled: boolean | null; requestsRequireAuthorization: boolean | null; - requestsDefaultSlotsUntilExpiration: BN | null; requestsFee: BN | null; } @@ -29,7 +28,6 @@ export interface FunctionSetConfigParamsJSON { mrEnclaves: Array> | null; requestsDisabled: boolean | null; requestsRequireAuthorization: boolean | null; - requestsDefaultSlotsUntilExpiration: string | null; requestsFee: string | null; } @@ -43,7 +41,6 @@ export class FunctionSetConfigParams { readonly mrEnclaves: Array> | null; readonly requestsDisabled: boolean | null; readonly requestsRequireAuthorization: boolean | null; - readonly requestsDefaultSlotsUntilExpiration: BN | null; readonly requestsFee: BN | null; constructor(fields: FunctionSetConfigParamsFields) { @@ -56,8 +53,6 @@ export class FunctionSetConfigParams { this.mrEnclaves = fields.mrEnclaves; this.requestsDisabled = fields.requestsDisabled; this.requestsRequireAuthorization = fields.requestsRequireAuthorization; - this.requestsDefaultSlotsUntilExpiration = - fields.requestsDefaultSlotsUntilExpiration; this.requestsFee = fields.requestsFee; } @@ -73,7 +68,6 @@ export class FunctionSetConfigParams { borsh.option(borsh.vec(borsh.array(borsh.u8(), 32)), "mrEnclaves"), borsh.option(borsh.bool(), "requestsDisabled"), borsh.option(borsh.bool(), "requestsRequireAuthorization"), - borsh.option(borsh.u64(), "requestsDefaultSlotsUntilExpiration"), borsh.option(borsh.u64(), "requestsFee"), ], property @@ -134,8 +128,6 @@ export class FunctionSetConfigParams { mrEnclaves: obj.mrEnclaves, requestsDisabled: obj.requestsDisabled, requestsRequireAuthorization: obj.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: - obj.requestsDefaultSlotsUntilExpiration, requestsFee: obj.requestsFee, }); } @@ -193,8 +185,6 @@ export class FunctionSetConfigParams { mrEnclaves: fields.mrEnclaves, requestsDisabled: fields.requestsDisabled, requestsRequireAuthorization: fields.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: - fields.requestsDefaultSlotsUntilExpiration, requestsFee: fields.requestsFee, }; } @@ -214,10 +204,6 @@ export class FunctionSetConfigParams { mrEnclaves: this.mrEnclaves, requestsDisabled: this.requestsDisabled, requestsRequireAuthorization: this.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: - (this.requestsDefaultSlotsUntilExpiration && - this.requestsDefaultSlotsUntilExpiration.toString()) || - null, requestsFee: (this.requestsFee && this.requestsFee.toString()) || null, }; } @@ -235,10 +221,6 @@ export class FunctionSetConfigParams { mrEnclaves: obj.mrEnclaves, requestsDisabled: obj.requestsDisabled, requestsRequireAuthorization: obj.requestsRequireAuthorization, - requestsDefaultSlotsUntilExpiration: - (obj.requestsDefaultSlotsUntilExpiration && - new BN(obj.requestsDefaultSlotsUntilExpiration)) || - null, requestsFee: (obj.requestsFee && new BN(obj.requestsFee)) || null, }); } diff --git a/javascript/solana.js/tsconfig.base.json b/javascript/solana.js/tsconfig.base.json index 5858ee8d8..99a5cdda3 100644 --- a/javascript/solana.js/tsconfig.base.json +++ b/javascript/solana.js/tsconfig.base.json @@ -28,6 +28,16 @@ "strictNullChecks": false, "strictFunctionTypes": true, "noImplicitReturns": true, - "esModuleInterop": true - } + "esModuleInterop": true, + "paths": { + "@switchboard-xyz/common": [ + "../common" + ] + } + }, + "references": [ + { + "path": "../common" + } + ] } \ No newline at end of file diff --git a/javascript/solana.js/tsconfig.json b/javascript/solana.js/tsconfig.json index c35fbf1a8..88367ef9f 100644 --- a/javascript/solana.js/tsconfig.json +++ b/javascript/solana.js/tsconfig.json @@ -28,8 +28,24 @@ "strictPropertyInitialization": false, "strict": true, "strictNullChecks": true, - "allowJs": true + "allowJs": true, + "paths": { + "@switchboard-xyz/common": [ + "../common" + ], + "@switchboard-xyz/oracle": [ + "../oracle" + ] + } }, + "references": [ + { + "path": "../common" + }, + { + "path": "../oracle" + } + ], "typedocOptions": { "entryPoints": [ "src/index.ts", diff --git a/rust/switchboard-solana/Cargo.anchor27.lock b/rust/switchboard-solana/Cargo.anchor27.lock index e4b403dc2..0ef649cc2 100644 --- a/rust/switchboard-solana/Cargo.anchor27.lock +++ b/rust/switchboard-solana/Cargo.anchor27.lock @@ -87,9 +87,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "86b8f9420f797f2d9e935edf629310eb938a0d839f984e25327f3c7eed22300c" dependencies = [ "memchr", ] @@ -117,8 +117,8 @@ checksum = "2d5e1a413b311b039d29b61d0dbb401c9dbf04f792497ceca87593454bf6d7dd" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "regex", "syn 1.0.109", ] @@ -132,8 +132,8 @@ dependencies = [ "anchor-syn", "anyhow", "bs58 0.4.0", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustversion", "syn 1.0.109", ] @@ -145,7 +145,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "788e44f9e8501dabeb6f9229da0f3268fb2ae3208912608ffaa056a72031296f" dependencies = [ "anchor-syn", - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -156,8 +156,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea0c4d8c7e4a2605ede6fcdced9690288b2f74e24768619a85229d57e597bc97" dependencies = [ "anchor-syn", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -169,8 +169,8 @@ checksum = "7a3b07d5c5d87b5edc72428b447b8e9ee1143b83dd1afc6a6b1d352c6a6164d8" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -182,8 +182,8 @@ checksum = "b22ad0445115dbea5869b1d062da49ae125abed9132fc20c33227f25e42dfa6b" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -212,8 +212,8 @@ checksum = "48daeff6781ba2f02961b0ad211feb9a2de75af345d42c62b1a252fd4dfb0724" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -223,8 +223,8 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c4fe2886f92c4f33ec1b2b8b2b43ca1b9070cf4929e63c7eaaa09a9f2c0d5123" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -273,8 +273,8 @@ dependencies = [ "anyhow", "bs58 0.3.1", "heck", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "serde", "serde_json", "sha2 0.9.9", @@ -308,9 +308,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" [[package]] name = "arrayref" @@ -343,7 +343,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -352,8 +352,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", "synstructure", ] @@ -364,8 +364,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -400,13 +400,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.71" +version = "0.1.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -480,6 +480,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + [[package]] name = "bitmaps" version = "2.1.0" @@ -569,7 +575,7 @@ dependencies = [ "borsh-derive-internal 0.9.3", "borsh-schema-derive-internal 0.9.3", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -582,7 +588,7 @@ dependencies = [ "borsh-derive-internal 0.10.3", "borsh-schema-derive-internal 0.10.3", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -592,8 +598,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -603,8 +609,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -614,8 +620,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -625,8 +631,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -696,8 +702,8 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -716,9 +722,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -745,11 +751,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -801,7 +808,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim 0.8.0", "textwrap 0.11.0", "unicode-width", @@ -815,7 +822,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", - "bitflags", + "bitflags 1.3.2", "clap_lex", "indexmap 1.9.3", "once_cell", @@ -1044,6 +1051,12 @@ dependencies = [ "rusticata-macros", ] +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" + [[package]] name = "derivation-path" version = "0.2.0" @@ -1109,9 +1122,9 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1180,9 +1193,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "encode_unicode" @@ -1214,8 +1227,8 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8958699f9359f0b04e691a13850d48b7de329138023876d07cbd024c2c820598" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -1226,9 +1239,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e" dependencies = [ "once_cell", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1244,6 +1257,15 @@ dependencies = [ "termcolor", ] +[[package]] +name = "envy" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c028f575cd4e81de7353215965" +dependencies = [ + "serde", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -1252,9 +1274,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -1279,12 +1301,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "feature-probe" @@ -1377,9 +1396,9 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1652,7 +1671,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -1668,7 +1687,7 @@ dependencies = [ "futures-util", "http", "hyper", - "rustls 0.21.5", + "rustls 0.21.6", "tokio", "tokio-rustls 0.24.1", ] @@ -1763,26 +1782,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.2", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" version = "2.8.0" @@ -1800,9 +1799,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" @@ -1859,7 +1858,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" dependencies = [ "arrayvec 0.5.2", - "bitflags", + "bitflags 1.3.2", "cfg-if", "ryu", "static_assertions", @@ -1937,9 +1936,9 @@ checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" @@ -2040,7 +2039,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.6.5", @@ -2119,8 +2118,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2159,9 +2158,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -2192,8 +2191,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2312,9 +2311,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" [[package]] name = "pin-utils" @@ -2387,9 +2386,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.64" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -2409,8 +2408,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2471,7 +2470,7 @@ dependencies = [ "futures-util", "libc", "quinn-proto", - "socket2", + "socket2 0.4.9", "tokio", "tracing", ] @@ -2487,11 +2486,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", ] [[package]] @@ -2610,7 +2609,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.23", + "time 0.3.25", "yasna", ] @@ -2620,7 +2619,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2629,7 +2628,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2645,9 +2644,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" dependencies = [ "aho-corasick", "memchr", @@ -2657,9 +2656,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.2" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" dependencies = [ "aho-corasick", "memchr", @@ -2668,9 +2667,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "rend" @@ -2705,7 +2704,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls 0.21.5", + "rustls 0.21.6", "rustls-pemfile 1.0.3", "serde", "serde_json", @@ -2760,8 +2759,8 @@ version = "0.7.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2779,13 +2778,12 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.30.0" +version = "1.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0446843641c69436765a35a5a77088e28c2e6a12da93e84aa3ab1cd4aa5a042" +checksum = "4a2ab0025103a60ecaaf3abf24db1db240a4e1c15837090d2c32f625ac98abea" dependencies = [ "arrayvec 0.7.4", "borsh 0.10.3", - "bytecheck", "byteorder", "bytes", "num-traits", @@ -2827,13 +2825,12 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" +version = "0.38.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "172891ebdceb05aa0005f533a6cbfca599ddd7d966f6f5d4d9b2e70478e70399" dependencies = [ - "bitflags", + "bitflags 2.3.3", "errno", - "io-lifetimes", "libc", "linux-raw-sys", "windows-sys 0.48.0", @@ -2853,9 +2850,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.21.5" +version = "0.21.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79ea77c539259495ce8ca47f53e66ae0330a8819f67e23ac96ca02f50e7b7d36" +checksum = "1d1feddffcfcc0b33f5c6ce9a29e341e4cd59c3f78e7ee45f4a40c038b1d6cbb" dependencies = [ "log", "ring", @@ -2895,9 +2892,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.101.1" +version = "0.101.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f36a6828982f422756984e47912a7a51dcbc2a197aa791158f8ca61cd8204e" +checksum = "261e9e0888cba427c3316e6322805653c9425240b6fd96cee7cb671ab70ab8d0" dependencies = [ "ring", "untrusted", @@ -2905,15 +2902,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "schannel" @@ -2926,9 +2923,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sct" @@ -2948,11 +2945,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -2961,9 +2958,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -2971,44 +2968,44 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" [[package]] name = "serde" -version = "1.0.171" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.11" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a16be4fe5320ade08736447e3198294a5ea9a6d44dde6f35f0a5e06859c427a" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.171" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.100" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -3167,6 +3164,16 @@ dependencies = [ "winapi", ] +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "solana-account-decoder" version = "1.14.16" @@ -3379,8 +3386,8 @@ version = "1.14.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57892538250428ad3dc3cbe05f6cd75ad14f4f16734fcb91bc7cd5fbb63d6315" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustc_version", "syn 1.0.109", ] @@ -3434,7 +3441,7 @@ dependencies = [ "rand 0.7.3", "serde", "serde_derive", - "socket2", + "socket2 0.4.9", "solana-logger", "solana-sdk", "solana-version", @@ -3477,7 +3484,7 @@ checksum = "3f99052873619df68913cb8e92e28ff251a5483828925e87fa97ba15a9cbad51" dependencies = [ "base64 0.13.1", "bincode", - "bitflags", + "bitflags 1.3.2", "blake3", "borsh 0.9.3", "borsh-derive 0.9.3", @@ -3583,7 +3590,7 @@ dependencies = [ "assert_matches", "base64 0.13.1", "bincode", - "bitflags", + "bitflags 1.3.2", "borsh 0.9.3", "bs58 0.4.0", "bytemuck", @@ -3632,8 +3639,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d41a09b9cecd0a4df63c78a192adee99ebf2d3757c19713a68246e1d9789c7c" dependencies = [ "bs58 0.4.0", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustversion", "syn 1.0.109", ] @@ -3870,8 +3877,9 @@ checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" [[package]] name = "switchboard-common" -version = "0.8.5" +version = "0.8.7" dependencies = [ + "envy", "getrandom 0.2.10", "hex", "serde", @@ -3882,7 +3890,7 @@ dependencies = [ [[package]] name = "switchboard-solana" -version = "0.27.0" +version = "0.27.4" dependencies = [ "anchor-client", "anchor-lang", @@ -3900,6 +3908,7 @@ dependencies = [ "superslice", "switchboard-common", "tokio", + "url", ] [[package]] @@ -3919,19 +3928,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.25" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "unicode-ident", ] @@ -3941,8 +3950,8 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", "unicode-xid 0.2.4", ] @@ -3955,11 +3964,10 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.6.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" dependencies = [ - "autocfg", "cfg-if", "fastrand", "redox_syscall 0.3.5", @@ -3993,22 +4001,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -4024,10 +4032,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.23" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" dependencies = [ + "deranged", "itoa", "serde", "time-core", @@ -4042,9 +4051,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -4085,11 +4094,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.29.1" +version = "1.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +checksum = "2d3ce25f50619af8b0aec2eb23deebe84249e19e2ddd393a6e16e3300a6dadfd" dependencies = [ - "autocfg", "backtrace", "bytes", "libc", @@ -4098,7 +4106,7 @@ dependencies = [ "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "socket2 0.5.3", "tokio-macros", "windows-sys 0.48.0", ] @@ -4109,9 +4117,9 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -4131,7 +4139,7 @@ version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.21.5", + "rustls 0.21.6", "tokio", ] @@ -4193,9 +4201,9 @@ checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" [[package]] name = "toml_edit" -version = "0.19.12" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ "indexmap 2.0.0", "toml_datetime", @@ -4226,9 +4234,9 @@ version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -4282,9 +4290,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -4364,9 +4372,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "uuid" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" [[package]] name = "vec_map" @@ -4426,9 +4434,9 @@ dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", "wasm-bindgen-shared", ] @@ -4450,7 +4458,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.29", + "quote 1.0.32", "wasm-bindgen-macro-support", ] @@ -4460,9 +4468,9 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4676,9 +4684,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.4.9" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a2094c43cc94775293eaa0e499fbc30048a6d824ac82c0351a8c0bf9112529" +checksum = "acaaa1190073b2b101e15083c38ee8ec891b5e05cbee516521e94ec008f61e64" dependencies = [ "memchr", ] @@ -4716,7 +4724,7 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -4734,7 +4742,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -4752,9 +4760,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] diff --git a/rust/switchboard-solana/Cargo.anchor27.toml b/rust/switchboard-solana/Cargo.anchor27.toml index 4a6bec43a..f5761ac7c 100644 --- a/rust/switchboard-solana/Cargo.anchor27.toml +++ b/rust/switchboard-solana/Cargo.anchor27.toml @@ -1,14 +1,13 @@ [package] name = "switchboard-solana" -version = "0.27.0" +version = "0.27.4" edition = "2021" description = "A Rust library to interact with Switchboard accounts." readme = "README.md" keywords = ["switchboard", "oracle", "solana"] -homepage = "https://docs.switchboard.xyz" -repository = "https://github.com/switchboard-xyz/sbv2-solana/tree/main/rust/switchboard-solana" +homepage = "https://switchboard.xyz" +repository = "https://github.com/switchboard-xyz/solana-sdk/tree/main/rust/switchboard-solana" license = "MIT" -documentation = "https://docs.switchboard.xyz" [lib] crate-type = ["cdylib", "lib"] @@ -29,12 +28,13 @@ bytemuck = "^1" superslice = "1" [target.'cfg(target_os = "solana")'.dependencies] -switchboard-common = { version = "0.8.5", path = "../switchboard-common" } +switchboard-common = { version = "0.8.7", path = "../switchboard-common" } anchor-lang = { version = "0.27.0" } [target.'cfg(not(target_os = "solana"))'.dependencies] -switchboard-common = { version = "0.8.5", path = "../switchboard-common", features = [ - "client" +switchboard-common = { version = "0.8.7", path = "../switchboard-common", features = [ + "client", + "solana", ] } anchor-client = { version = "0.27.0" } solana-client = "=1.14.16" @@ -44,6 +44,7 @@ cron = { version = "0.12.0" } chrono = { version = "0.4.25" } hex = "0.4.3" tokio = "1" +url = "2.4" [package.metadata.docs.rs] rustdoc-args = ["--cfg", "doc_cfg"] diff --git a/rust/switchboard-solana/Cargo.lock b/rust/switchboard-solana/Cargo.lock index 149e1c095..14123b11f 100644 --- a/rust/switchboard-solana/Cargo.lock +++ b/rust/switchboard-solana/Cargo.lock @@ -109,8 +109,8 @@ checksum = "faa5be5b72abea167f87c868379ba3c2be356bfca9e6f474fd055fa0f7eeb4f2" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "regex", "syn 1.0.109", ] @@ -124,8 +124,8 @@ dependencies = [ "anchor-syn", "anyhow", "bs58 0.5.0", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustversion", "syn 1.0.109", ] @@ -137,7 +137,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59948e7f9ef8144c2aefb3f32a40c5fce2798baeec765ba038389e82301017ef" dependencies = [ "anchor-syn", - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -148,8 +148,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc753c9d1c7981cb8948cf7e162fb0f64558999c0413058e2d43df1df5448086" dependencies = [ "anchor-syn", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -161,8 +161,8 @@ checksum = "f38b4e172ba1b52078f53fdc9f11e3dc0668ad27997838a0aad2d148afac8c97" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -174,8 +174,8 @@ checksum = "4eebd21543606ab61e2d83d9da37d24d3886a49f390f9c43a1964735e8c0f0d5" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -206,8 +206,8 @@ checksum = "ec4720d899b3686396cced9508f23dab420f1308344456ec78ef76f98fda42af" dependencies = [ "anchor-syn", "anyhow", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -217,8 +217,8 @@ version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f495e85480bd96ddeb77b71d499247c7d4e8b501e75ecb234e9ef7ae7bd6552a" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -268,8 +268,8 @@ dependencies = [ "anyhow", "bs58 0.5.0", "heck", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "serde", "serde_json", "sha2 0.10.7", @@ -303,9 +303,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" +checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" [[package]] name = "ark-bn254" @@ -361,7 +361,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" dependencies = [ - "quote 1.0.29", + "quote 1.0.32", "syn 1.0.109", ] @@ -373,8 +373,8 @@ checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" dependencies = [ "num-bigint 0.4.3", "num-traits", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -409,8 +409,8 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -467,7 +467,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -476,8 +476,8 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "726535892e8eae7e70657b4c8ea93d26b8553afb1ce617caee529ef96d7dee6c" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", "synstructure", ] @@ -488,8 +488,8 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2777730b2039ac0f95f093556e61b6d26cebed5393ca6f152717777cec3a42ed" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -535,13 +535,13 @@ dependencies = [ [[package]] name = "async-trait" -version = "0.1.71" +version = "0.1.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a564d521dd56509c4c47480d00b80ee55f7e385ae48db5744c67ad50c92d2ebf" +checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -600,6 +600,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" + [[package]] name = "bitmaps" version = "2.1.0" @@ -689,7 +695,7 @@ dependencies = [ "borsh-derive-internal 0.9.3", "borsh-schema-derive-internal 0.9.3", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -702,7 +708,7 @@ dependencies = [ "borsh-derive-internal 0.10.3", "borsh-schema-derive-internal 0.10.3", "proc-macro-crate 0.1.5", - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", "syn 1.0.109", ] @@ -712,8 +718,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -723,8 +729,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -734,8 +740,8 @@ version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -745,8 +751,8 @@ version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -819,8 +825,8 @@ version = "0.6.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7ec4c6f261935ad534c0c22dbef2201b45918860eb1c574b972bd213a76af61" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -839,9 +845,9 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdde5c9cd29ebd706ce1b35600920a33550e402fc998a2e53ad3b42c3c47a192" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -868,11 +874,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -914,7 +921,7 @@ checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" dependencies = [ "ansi_term", "atty", - "bitflags", + "bitflags 1.3.2", "strsim 0.8.0", "textwrap 0.11.0", "unicode-width", @@ -928,7 +935,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ "atty", - "bitflags", + "bitflags 1.3.2", "clap_lex", "indexmap 1.9.3", "once_cell", @@ -1152,9 +1159,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0558d22a7b463ed0241e993f76f09f30b126687447751a8638587b864e4b3944" +checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e" dependencies = [ "darling_core", "darling_macro", @@ -1162,27 +1169,27 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8bfa2e259f8ee1ce5e97824a3c55ec4404a0d772ca7fa96bf19f0752a046eb" +checksum = "177e3443818124b357d8e76f53be906d60937f0d3a90773a664fa63fa253e621" dependencies = [ "fnv", "ident_case", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "strsim 0.10.0", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] name = "darling_macro" -version = "0.20.1" +version = "0.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29a358ff9f12ec09c3e61fef9b5a9902623a695a46a917b07f269bff1445611a" +checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core", - "quote 1.0.29", - "syn 2.0.25", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1214,6 +1221,12 @@ dependencies = [ "rusticata-macros", ] +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" + [[package]] name = "derivation-path" version = "0.2.0" @@ -1226,8 +1239,8 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -1269,9 +1282,9 @@ version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1340,9 +1353,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "encode_unicode" @@ -1374,9 +1387,9 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1392,6 +1405,15 @@ dependencies = [ "termcolor", ] +[[package]] +name = "envy" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f47e0157f2cb54f5ae1bd371b30a2ae4311e1c028f575cd4e81de7353215965" +dependencies = [ + "serde", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -1400,9 +1422,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -1427,12 +1449,9 @@ checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" [[package]] name = "fastrand" -version = "1.9.0" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" [[package]] name = "feature-probe" @@ -1525,9 +1544,9 @@ version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -1902,9 +1921,9 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" +checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" dependencies = [ "console", "instant", @@ -1922,17 +1941,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi 0.3.2", - "libc", - "windows-sys 0.48.0", -] - [[package]] name = "ipnet" version = "2.8.0" @@ -1950,9 +1958,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" @@ -2009,7 +2017,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe" dependencies = [ "arrayvec 0.5.2", - "bitflags", + "bitflags 1.3.2", "cfg-if", "ryu", "static_assertions", @@ -2071,9 +2079,9 @@ dependencies = [ [[package]] name = "linux-raw-sys" -version = "0.3.8" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" @@ -2185,7 +2193,7 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.7.1", @@ -2275,8 +2283,8 @@ version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2315,9 +2323,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", ] @@ -2357,8 +2365,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2369,9 +2377,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96667db765a921f7b295ffee8b60472b686a51d4f21c2ee4ffdb94c7013b65a6" dependencies = [ "proc-macro-crate 1.3.1", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -2463,9 +2471,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b27ab7be369122c218afc2079489cdcb4b517c0a3fc386ff11e1fedfcc2b35" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pbkdf2" @@ -2511,9 +2519,9 @@ dependencies = [ [[package]] name = "pin-project-lite" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" [[package]] name = "pin-utils" @@ -2558,9 +2566,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "767eb9f07d4a5ebcb39bbf2d452058a93c011373abf6832e24194a1c3f004794" +checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" [[package]] name = "ppv-lite86" @@ -2598,9 +2606,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.64" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -2620,8 +2628,8 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16b845dbfca988fa33db069c0e230574d15a3088f147a87b64c7589eb662c9ac" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2636,9 +2644,9 @@ dependencies = [ [[package]] name = "quinn" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445cbfe2382fa023c4f2f3c7e1c95c03dcc1df2bf23cebcb2b13e1402c4394d1" +checksum = "2e8b432585672228923edbbf64b8b12c14e1112f62e88737655b4a083dbcd78e" dependencies = [ "bytes", "pin-project-lite", @@ -2654,9 +2662,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c" +checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" dependencies = [ "bytes", "rand 0.8.5", @@ -2695,11 +2703,11 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.29" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ - "proc-macro2 1.0.64", + "proc-macro2 1.0.66", ] [[package]] @@ -2818,7 +2826,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.23", + "time 0.3.25", "yasna", ] @@ -2828,7 +2836,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -2837,14 +2845,14 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] name = "regex" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" dependencies = [ "aho-corasick", "memchr", @@ -2854,9 +2862,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.2" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83d3daa6976cffb758ec878f108ba0e062a45b2d6ca3a2cca965338855476caf" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" dependencies = [ "aho-corasick", "memchr", @@ -2865,9 +2873,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.7.3" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ab07dc67230e4a4718e70fd5c20055a4334b121f1f9db8fe63ef39ce9b8c846" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" [[package]] name = "rend" @@ -2957,8 +2965,8 @@ version = "0.7.42" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b2e06b915b5c230a17d7a736d1e2e63ee753c256a8614ef3f5147b13a4f5541d" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -2985,13 +2993,12 @@ dependencies = [ [[package]] name = "rust_decimal" -version = "1.30.0" +version = "1.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0446843641c69436765a35a5a77088e28c2e6a12da93e84aa3ab1cd4aa5a042" +checksum = "4a2ab0025103a60ecaaf3abf24db1db240a4e1c15837090d2c32f625ac98abea" dependencies = [ "arrayvec 0.7.4", "borsh 0.10.3", - "bytecheck", "byteorder", "bytes", "num-traits", @@ -3033,13 +3040,12 @@ dependencies = [ [[package]] name = "rustix" -version = "0.37.23" +version = "0.38.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" +checksum = "172891ebdceb05aa0005f533a6cbfca599ddd7d966f6f5d4d9b2e70478e70399" dependencies = [ - "bitflags", + "bitflags 2.3.3", "errno", - "io-lifetimes", "libc", "linux-raw-sys", "windows-sys 0.48.0", @@ -3080,15 +3086,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.13" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc31bd9b61a32c31f9650d18add92aa83a49ba979c143eefd27fe7177b05bd5f" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "ryu" -version = "1.0.14" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "schannel" @@ -3101,9 +3107,9 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scroll" @@ -3120,9 +3126,9 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -3143,11 +3149,11 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -3156,9 +3162,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -3166,44 +3172,44 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" [[package]] name = "serde" -version = "1.0.171" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.11" +version = "0.11.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a16be4fe5320ade08736447e3198294a5ea9a6d44dde6f35f0a5e06859c427a" +checksum = "ab33ec92f677585af6d88c65593ae2375adde54efdbf16d597f2cbc7a6d368ff" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.171" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.100" +version = "1.0.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f1e14e89be7aa4c4b78bdbdc9eb5bf8517829a600ae8eaa39a6e1d960b5185c" +checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c" dependencies = [ "itoa", "ryu", @@ -3239,9 +3245,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" dependencies = [ "darling", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -3374,9 +3380,9 @@ dependencies = [ [[package]] name = "solana-account-decoder" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63c62ec28eaf2f4ef06f39d549230699068e9b2171a67a8232e11993ecb86dd" +checksum = "298accbe9b2bffc391081b94f30ec3dd5bac053bfcd09aa78c06f1f87d33ec1e" dependencies = [ "Inflector", "base64 0.21.2", @@ -3398,9 +3404,9 @@ dependencies = [ [[package]] name = "solana-address-lookup-table-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ddbc426b2e0443c2e58c0ab721c93a788f0e97eb4f25340e4e50dd1e6978027" +checksum = "c026db45d6d8a21afe308fab93a40c77d21cb7a0f1f2fe4b99bb7bbcd7028ed7" dependencies = [ "bincode", "bytemuck", @@ -3419,9 +3425,9 @@ dependencies = [ [[package]] name = "solana-clap-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a19777832c5623c5a1b642f35d847acaf7243124e8f4f300dbe9d387b05b4f78" +checksum = "d27f6ef67bb0519da2d7c7dd9f65c8e447a9a1c8330bb032b78d80712472fefd" dependencies = [ "chrono", "clap 2.34.0", @@ -3437,9 +3443,9 @@ dependencies = [ [[package]] name = "solana-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7e3458b0fcf87b14560836a9dc1d0270fe1b4d70425235e91b94a74f4a614f0" +checksum = "13cf67b2f89d8ce5ce0b8c75baac79dc10b082cf096b149146724182db5506cf" dependencies = [ "async-trait", "bincode", @@ -3470,9 +3476,9 @@ dependencies = [ [[package]] name = "solana-config-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ac78caf77ffe8cc8c108b2e424f5e710f640777f3d78faf2ac7535008a39f5a" +checksum = "4065170279a38c1013fcf9c1776579914e7c30edb831f28dfd59f9d939d90f63" dependencies = [ "bincode", "chrono", @@ -3484,9 +3490,9 @@ dependencies = [ [[package]] name = "solana-connection-cache" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "964e4b517d80543e9ff0676bb1700f5011e8588795f4e68fb8ab343c87eefad4" +checksum = "0a98001f5293720075b52faa7e05c78c33ffdcc23ed7dea2cad102ed4823d624" dependencies = [ "async-trait", "bincode", @@ -3505,9 +3511,9 @@ dependencies = [ [[package]] name = "solana-frozen-abi" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c272bd949536a92f0fc4d9572bf72b35b3545fc1f6ee031e44f9d075809055d" +checksum = "bee2b96d4150d9ebf55e903014bc332ac64c642837d7f1e6f7b911d709331380" dependencies = [ "ahash 0.8.3", "blake3", @@ -3538,21 +3544,21 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f84be4b6dd2cc4e8ad5baa54a23018c8936ec32322ebcffd88355631700292a" +checksum = "942534eb972f955ed186175495654cabece6261a8ac3211e5791440d40a1ed96" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustc_version", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] name = "solana-logger" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3cb934e8c9015e86cd9c7382ea3083578d1c0813a351644cfdabe3009591b03" +checksum = "1339e1a179e2465e97fd89c2f70d5f00c5644f36c0e547b8ecda414c748dfc2c" dependencies = [ "env_logger", "lazy_static", @@ -3561,9 +3567,9 @@ dependencies = [ [[package]] name = "solana-measure" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a038b70fac9cd5529839efc258e6453f0018d34937a414cd030318916d6dba6" +checksum = "6b3feab384868634ea5d7a12fc62c001d5785b6a352b7903ad13edbb7d3043f3" dependencies = [ "log", "solana-sdk", @@ -3571,9 +3577,9 @@ dependencies = [ [[package]] name = "solana-metrics" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cca14a16eac701e20bda3e103e3d078074a18e83e126f90d918e141379eade8d" +checksum = "f31c1f2569ea75ee9aa73eedb948b17eabc468e6cd5c1aee4d9cdfaffb0f3d33" dependencies = [ "crossbeam-channel", "gethostname", @@ -3585,9 +3591,9 @@ dependencies = [ [[package]] name = "solana-net-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "509c3d5bc7fe8dbcc25b3238d7cd4a0994c39207260b7b5271a3110ea0ac5f75" +checksum = "725a2f7335cc7ec5be356baaf44b0d3211f996b174e2a3b340227e700d26fc55" dependencies = [ "bincode", "clap 3.2.25", @@ -3607,9 +3613,9 @@ dependencies = [ [[package]] name = "solana-perf" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a65308af752a91eddf06c7b7bb5e5d6296ec8cd8de5a1cbebd61f53f45a808c" +checksum = "2048b4890677ec4287a205a0f53d6a9bf2bdbcc7046aeb665b2714e3c1a4e655" dependencies = [ "ahash 0.8.3", "bincode", @@ -3634,9 +3640,9 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "476510cb86b9602a793582788f5e23a9cca11929d3880b7427a67142b1e4a430" +checksum = "2f81c59ed0b65b403cc5db459dd1214dfab89ccd3ce20aadf98102b072d08562" dependencies = [ "ark-bn254", "ark-ec", @@ -3645,9 +3651,10 @@ dependencies = [ "array-bytes", "base64 0.21.2", "bincode", - "bitflags", + "bitflags 1.3.2", "blake3", "borsh 0.10.3", + "borsh 0.9.3", "bs58 0.4.0", "bv", "bytemuck", @@ -3688,9 +3695,9 @@ dependencies = [ [[package]] name = "solana-program-runtime" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8311e581ff6406c84ce8ed5d4f1316cf091f723b4823a1ece3e36be6cfb3d69c" +checksum = "bc8624325d63e9a643385739c53315d8768aff689dfa9ad06ed1c67aac163ab2" dependencies = [ "base64 0.21.2", "bincode", @@ -3716,9 +3723,9 @@ dependencies = [ [[package]] name = "solana-pubsub-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5274196946dfef625ec905f7834e7d45b8367364f8eaf99e2c754951da6b972d" +checksum = "b5e10c8caee33c14b74fa2e76f8d8638364303bbf4439e284fddf66b7e3a5acb" dependencies = [ "crossbeam-channel", "futures-util", @@ -3741,9 +3748,9 @@ dependencies = [ [[package]] name = "solana-quic-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b27ad60edef844f182cd7071e653731ec16b3a319524448935a1183f6b99b80" +checksum = "7173c8eb7b20a1c04838655760ba36e5a4398dc9cd16115a5321c7a56e6a34ff" dependencies = [ "async-mutex", "async-trait", @@ -3769,9 +3776,9 @@ dependencies = [ [[package]] name = "solana-rayon-threadlimit" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "441bde92d8befd3a698e54c35bff63a396f1e3e5e85754d85a5308a8f5d0328a" +checksum = "fe5195e62d9457233f97f30aa678f71b1aaed2200a170e63f0da7d9a3d124aa3" dependencies = [ "lazy_static", "num_cpus", @@ -3779,9 +3786,9 @@ dependencies = [ [[package]] name = "solana-remote-wallet" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1b8820ed78c726c9359248a8fb6456657ce6feca2ff31ffac1286f55bee99e8" +checksum = "04b5777335473d24b6edf9ca36129b1f8e07ba34de18e2b8d6285a4e3473260c" dependencies = [ "console", "dialoguer", @@ -3798,9 +3805,9 @@ dependencies = [ [[package]] name = "solana-rpc-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5baeb95820862d14c1391dfda9a3173b0509f1b17ebd1090b3778fac1743ab69" +checksum = "93d34afb705efdf62ad1a911beffe3c6d599eab2125bd07460e85a424636cb54" dependencies = [ "async-trait", "base64 0.21.2", @@ -3824,9 +3831,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-api" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29009927e289fc5ccd19cec05780dc8465eb65e52922087cf769e57d72c0b7b5" +checksum = "a9e28db9b3748bfe7367ef9e9b968be1643f63ab9c360e89681d426d036cf69a" dependencies = [ "base64 0.21.2", "bs58 0.4.0", @@ -3846,9 +3853,9 @@ dependencies = [ [[package]] name = "solana-rpc-client-nonce-utils" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df466014e9768f4741be00acea0067bde11a2ec1162a12ebf896960990a2e6b8" +checksum = "27c9c9f034bf3c931441a0fbb528b8e3bf417a32b70546e5fa0c00cd78559ff5" dependencies = [ "clap 2.34.0", "solana-clap-utils", @@ -3859,14 +3866,14 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "352b70bb14d8968d5484aa73a1aede3acc816f10a0b264c6599108c5dd6b647b" +checksum = "d23dbf6da55a2d191956c693d8490dc809799822536aceb11309043e9b622079" dependencies = [ "assert_matches", "base64 0.21.2", "bincode", - "bitflags", + "bitflags 1.3.2", "borsh 0.10.3", "bs58 0.4.0", "bytemuck", @@ -3912,22 +3919,22 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e38a884c027b0759d0969efc1253f3b8798f9d5fbef2eb158cdb70763619d2f3" +checksum = "2e7d686e405694cd6510cd77bb87d0eeda64ad3df08d3293278ba47ca78b8e5e" dependencies = [ "bs58 0.4.0", - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "rustversion", - "syn 2.0.25", + "syn 2.0.28", ] [[package]] name = "solana-streamer" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13b87bd090a462765b6e3196e6c22cc0edebf8942fb4a6de9a807ce3d8d5d436" +checksum = "e40e74d6ae01dd21dc1a93a2213f8d7e04aea69079092a131ad5bd2d54aa16bc" dependencies = [ "async-channel", "bytes", @@ -3958,9 +3965,9 @@ dependencies = [ [[package]] name = "solana-thin-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab8dc82e52a443249c5b1df3ddd7273306c81fde2c8057cc398e0fbd0fae7a47" +checksum = "34f3a1dae21f002f2d35ddfcc09fb528bc52936bb9fe4aea7bb46b1361998ed7" dependencies = [ "bincode", "log", @@ -3973,9 +3980,9 @@ dependencies = [ [[package]] name = "solana-tpu-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a09c139e796337646ba4f013a849555f50d35ae7278461d685a429c29f6295f" +checksum = "5fffd371a68959dbbbb073198cd93121586da924a8dc493bd624a5ddf40a6742" dependencies = [ "async-trait", "bincode", @@ -3998,9 +4005,9 @@ dependencies = [ [[package]] name = "solana-transaction-status" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284227b302a68b0c384f46cb95e5472d39e7c7094d6079c4e5bd2f133f6920ff" +checksum = "aeb3b1a35fc4718e758851670a959bb4736a8825f56c7ebfcd6eec892cbd200a" dependencies = [ "Inflector", "base64 0.21.2", @@ -4024,9 +4031,9 @@ dependencies = [ [[package]] name = "solana-udp-client" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23aa72c84646a65727b63ff2988147062a792b569591351f06c0e6014ca52de9" +checksum = "05fd1c52102c716767d32a6936843b0505ad61bad958b34bcff513fe609611e7" dependencies = [ "async-trait", "solana-connection-cache", @@ -4039,9 +4046,9 @@ dependencies = [ [[package]] name = "solana-version" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "036b2c0f4b3dfbe48d96c0f5e9be0fadd019bf46327013475bbf3b8ae9870dfe" +checksum = "6b4f9750ce47f0a431338121a3247bd29665d6da5a8ebde8c5320503c98d8adc" dependencies = [ "log", "rustc_version", @@ -4055,9 +4062,9 @@ dependencies = [ [[package]] name = "solana-vote-program" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85fe8c3382ac0c050c2224037fc8be990f713526e6b136f3a8da9464e2e1a506" +checksum = "258b4c3e62faaed0cd864b02760659e45fb4431a287ee0088ae79af891ae4786" dependencies = [ "bincode", "log", @@ -4077,9 +4084,9 @@ dependencies = [ [[package]] name = "solana-zk-token-sdk" -version = "1.16.3" +version = "1.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a4c38e1cf77cc046a48d0e515ec3fe654d9c3ba49790523f2d8fd28a5e51d3" +checksum = "c2d04eecf3a7438c95db28b57437e94f09a1e60377183d9bea0c9db84506f504" dependencies = [ "aes-gcm-siv", "base64 0.21.2", @@ -4229,8 +4236,9 @@ checksum = "ab16ced94dbd8a46c82fd81e3ed9a8727dac2977ea869d217bcc4ea1f122e81f" [[package]] name = "switchboard-common" -version = "0.8.6" +version = "0.8.7" dependencies = [ + "envy", "getrandom 0.2.10", "hex", "serde", @@ -4241,7 +4249,7 @@ dependencies = [ [[package]] name = "switchboard-solana" -version = "0.9.6" +version = "0.28.4" dependencies = [ "anchor-client", "anchor-lang", @@ -4259,6 +4267,7 @@ dependencies = [ "superslice", "switchboard-common", "tokio", + "url", ] [[package]] @@ -4278,19 +4287,19 @@ version = "1.0.109" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.25" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "unicode-ident", ] @@ -4300,8 +4309,8 @@ version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", "unicode-xid 0.2.4", ] @@ -4314,11 +4323,10 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "tempfile" -version = "3.6.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" +checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" dependencies = [ - "autocfg", "cfg-if", "fastrand", "redox_syscall 0.3.5", @@ -4352,22 +4360,22 @@ checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a35fc5b8971143ca348fa6df4f024d4d55264f3468c71ad1c2f365b0a4d58c42" +checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.43" +version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "463fe12d7993d3b327787537ce8dd4dfa058de32fc2b195ef3cde03dc4771e8f" +checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -4383,10 +4391,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.23" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" dependencies = [ + "deranged", "itoa", "serde", "time-core", @@ -4401,9 +4410,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -4468,8 +4477,8 @@ version = "1.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", + "proc-macro2 1.0.66", + "quote 1.0.32", "syn 1.0.109", ] @@ -4542,9 +4551,9 @@ checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" [[package]] name = "toml_edit" -version = "0.19.12" +version = "0.19.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c500344a19072298cd05a7224b3c0c629348b78692bf48466c5238656e315a78" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" dependencies = [ "indexmap 2.0.0", "toml_datetime", @@ -4564,7 +4573,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", - "log", "pin-project-lite", "tracing-attributes", "tracing-core", @@ -4576,9 +4584,9 @@ version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] @@ -4632,9 +4640,9 @@ checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -4723,9 +4731,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "uuid" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d023da39d1fde5a8a3fe1f3e01ca9632ada0a63e9797de55a879d6e2236277be" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" [[package]] name = "vec_map" @@ -4791,9 +4799,9 @@ dependencies = [ "bumpalo", "log", "once_cell", - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", "wasm-bindgen-shared", ] @@ -4815,7 +4823,7 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ - "quote 1.0.29", + "quote 1.0.32", "wasm-bindgen-macro-support", ] @@ -4825,9 +4833,9 @@ version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5056,9 +5064,9 @@ checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" [[package]] name = "winnow" -version = "0.4.9" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81a2094c43cc94775293eaa0e499fbc30048a6d824ac82c0351a8c0bf9112529" +checksum = "acaaa1190073b2b101e15083c38ee8ec891b5e05cbee516521e94ec008f61e64" dependencies = [ "memchr", ] @@ -5096,7 +5104,7 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -5105,7 +5113,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -5123,9 +5131,9 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ - "proc-macro2 1.0.64", - "quote 1.0.29", - "syn 2.0.25", + "proc-macro2 1.0.66", + "quote 1.0.32", + "syn 2.0.28", ] [[package]] diff --git a/rust/switchboard-solana/Cargo.toml b/rust/switchboard-solana/Cargo.toml index d24e7c11d..dd1a03ea6 100644 --- a/rust/switchboard-solana/Cargo.toml +++ b/rust/switchboard-solana/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "switchboard-solana" -version = "0.28.0" +version = "0.28.4" edition = "2021" description = "A Rust library to interact with Switchboard accounts." readme = "README.md" keywords = ["switchboard", "oracle", "solana"] homepage = "https://switchboard.xyz" -repository = "https://github.com/switchboard-xyz/sbv2-solana/tree/main/rust/switchboard-solana" +repository = "https://github.com/switchboard-xyz/solana-sdk/tree/main/rust/switchboard-solana" license = "MIT" [lib] @@ -28,12 +28,13 @@ bytemuck = "^1" superslice = "1" [target.'cfg(target_os = "solana")'.dependencies] -switchboard-common = { version = "0.8.6" } +switchboard-common = { version = "0.8.7" } anchor-lang = { version = "0.28.0" } [target.'cfg(not(target_os = "solana"))'.dependencies] -switchboard-common = { version = "0.8.6", features = [ - "client" +switchboard-common = { version = "0.8.7", features = [ + "client", + "solana", ] } anchor-client = { version = "0.28.0" } solana-client = ">= 1.16, < 1.17" @@ -43,6 +44,7 @@ cron = { version = "0.12.0" } chrono = { version = "0.4.25" } hex = "0.4.3" tokio = "1" +url = "2.4" [package.metadata.docs.rs] rustdoc-args = ["--cfg", "doc_cfg"] diff --git a/rust/switchboard-solana/README.md b/rust/switchboard-solana/README.md index 0b8dded30..0c692afe6 100644 --- a/rust/switchboard-solana/README.md +++ b/rust/switchboard-solana/README.md @@ -7,7 +7,7 @@ > A Rust library to interact with Switchboard accounts on Solana.

- + Crates.io

@@ -25,7 +25,7 @@ Typedocs: docs.rs/switchboard-solana

- Sbv2 Solana SDK: github.com/switchboard-xyz/sbv2-solana + Solana SDK: github.com/switchboard-xyz/solana-sdk

@@ -41,11 +41,60 @@ Or add the following line to your Cargo.toml: ```toml [dependencies] -switchboard-solana = "0.5.0" +switchboard-solana = "0.28" ``` +**NOTE**: The minor version corresponds to the anchor-lang dependency. Version `0.28.*` of this crate uses anchor-lang `0.28.0` while version `0.27.*` of this crate uses anchor-lang `0.27.0`. + +## Accounts + +This SDK provides the following account definitions for the Oracle Program: + +- [OracleQueue](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/queue/struct.OracleQueueAccountData.html) +- [Crank](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/crank/struct.CrankAccountData.html) +- [Oracle](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/oracle/struct.OracleAccountData.html) +- [Permission](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/permission/struct.PermissionAccountData.html) +- [Aggregator](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/aggregator/struct.AggregatorAccountData.html) +- [Job](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/job/struct.JobAccountData.html) +- [Lease](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/lease/struct.LeaseAccountData.html) +- [Vrf](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/vrf/struct.VrfAccountData.html) +- [VrfLite](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/vrf_lite/struct.VrfLiteAccountData.html) +- [VrfPool](https://docs.rs/switchboard-solana/latest/switchboard_solana/oracle_program/accounts/vrf_pool/struct.VrfPoolAccountData.html) + +This SDK provides the following account definitions for the Attestation Program: + +- [AttestationQueue](https://docs.rs/switchboard-solana/latest/switchboard_solana/attestation_program/accounts/attestation_queue/struct.AttestationQueueAccountData.html) +- [Verifier](https://docs.rs/switchboard-solana/latest/switchboard_solana/attestation_program/accounts/verifier/struct.VerifierAccountData.html) +- [AttestationPermission](https://docs.rs/switchboard-solana/latest/switchboard_solana/attestation_program/accounts/attestation_permission/struct.AttestationPermissionAccountData.html) +- [SwitchboardWallet](https://docs.rs/switchboard-solana/latest/switchboard_solana/attestation_program/accounts/switchboard_wallet/struct.SwitchboardWallet.html) +- [Function](https://docs.rs/switchboard-solana/latest/switchboard_solana/attestation_program/accounts/function/struct.FunctionAccountData.html) +- [FunctionRequest](https://docs.rs/switchboard-solana/latest/switchboard_solana/attestation_program/accounts/function_request/struct.FunctionRequestAccountData.html) + ## Usage +### Functions + +You will need to validate your function's enclave_signer before allowing your program to modify its state. + +```rust +use switchboard_solana::FunctionAccountData; + +#[derive(Accounts)] +pub struct SaveDataInstruction<'info> { + // ... your required accounts to modify your program's state + + // We use this to derive and verify the functions enclave state + #[account( + constraint = + function.load()?.validate( + &enclave_signer.to_account_info() + )? + )] + pub function: AccountLoader<'info, FunctionAccountData>, + pub enclave_signer: Signer<'info>, +} +``` + ### Aggregator #### Read Latest Result @@ -76,10 +125,6 @@ feed.check_staleness(clock::Clock::get().unwrap().unix_timestamp, 300)?; feed.check_confidence_interval(SwitchboardDecimal::from_f64(0.80))?; ``` -**Example(s)**: -[anchor-feed-parser](https://github.com/switchboard-xyz/sbv2-solana/blob/main/programs/anchor-feed-parser/src/lib.rs), -[native-feed-parser](https://github.com/switchboard-xyz/sbv2-solana/blob/main/programs/native-feed-parser/src/lib.rs) - #### Read Aggregator History **_Note: The Aggregator must have a history buffer initialized before using_** @@ -95,7 +140,7 @@ let one_hour_ago: f64 = history_buffer.lower_bound(current_timestamp - 3600).unw ### VRF Account -#### Read Latest Result +#### Read VRF Result ```rust use switchboard_solana::VrfAccountData; @@ -111,9 +156,6 @@ let value: &[u128] = bytemuck::cast_slice(&result_buffer[..]); let result = value[0] % 256000 as u128; ``` -**Example**: -[anchor-vrf-parser](https://github.com/switchboard-xyz/sbv2-solana/blob/main/programs/anchor-vrf-parser/src/actions/update_result.rs) - #### RequestRandomness CPI ```rust @@ -154,59 +196,3 @@ vrf_request_randomness.invoke_signed( )?; ``` - -**Example**: -[anchor-vrf-parser](https://github.com/switchboard-xyz/sbv2-solana/blob/main/programs/anchor-vrf-parser/src/actions/request_result.rs) - -### Buffer Relayer Account - -#### Read Latest Result - -```rust -use anchor_lang::solana_program::clock; -use std::convert::TryInto; -use switchboard_solana::{BufferRelayerAccountData, SWITCHBOARD_PROGRAM_ID}; - -// check feed owner -let owner = *aggregator.owner; -if owner != SWITCHBOARD_PROGRAM_ID { - return Err(error!(ErrorCode::InvalidSwitchboardAccount)); -} - -// deserialize account info -let buffer = BufferRelayerAccountData::new(feed_account_info)?; - -// get result -let buffer_result = buffer.get_result(); - -// check if feed has been updated in the last 5 minutes -buffer.check_staleness(clock::Clock::get().unwrap().unix_timestamp, 300)?; - -// convert buffer to a string -let result_string = String::from_utf8(buffer.result) - .map_err(|_| error!(ErrorCode::StringConversionFailed))?; -msg!("Buffer string {:?}!", result_string); -``` - -**Example**: -[anchor-buffer-parser](https://github.com/switchboard-xyz/sbv2-solana/blob/main/programs/anchor-buffer-parser/src/lib.rs) - -## Supported CPI Calls - -| Instruction | is supported | -| --------------------------- | ------------ | -| permission_set | true | -| vrf_request_randomness | true | -| vrf_set_callback | true | -| vrf_close | true | -| vrf_lite_request_randomness | true | -| vrf_lite_close | true | -| vrf_pool_request_randomness | true | -| vrf_pool_remove | true | -| vrf_pool_add | TODO | -| aggregator_open_round | TODO | -| buffer_relayer_open_round | TODO | - -See -[https://docs.switchboard.xyz/solana/idl](https://docs.switchboard.xyz/solana/idl) -for a list of all program instructions. diff --git a/rust/switchboard-solana/publish.sh b/rust/switchboard-solana/publish.sh deleted file mode 100755 index cb0c688b3..000000000 --- a/rust/switchboard-solana/publish.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# exit when any command fails -set -e - -mv Cargo.toml Cargo.default.toml -mv Cargo.lock Cargo.default.lock - -mv Cargo.anchor27.toml Cargo.toml -if [[ -f "Cargo.anchor27.lock" ]]; then - mv Cargo.anchor27.lock Cargo.lock -fi - -cargo build -cargo update -p solana-zk-token-sdk --precise 1.14.16 - -cargo publish --allow-dirty - -mv Cargo.lock Cargo.anchor27.lock -mv Cargo.toml Cargo.anchor27.toml - -mv Cargo.default.toml Cargo.toml -mv Cargo.default.lock Cargo.lock \ No newline at end of file diff --git a/rust/switchboard-solana/set-anchor.sh b/rust/switchboard-solana/set-anchor.sh new file mode 100755 index 000000000..fed0235c8 --- /dev/null +++ b/rust/switchboard-solana/set-anchor.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +# exit when any command fails +set -e + +function set_anchor_27 { + was_changed="false" + if [[ -f "Cargo.anchor27.lock" ]]; then + mv Cargo.lock Cargo.anchor28.lock + mv Cargo.anchor27.lock Cargo.lock + was_changed="true" + fi + if [[ -f "Cargo.anchor27.toml" ]]; then + mv Cargo.toml Cargo.anchor28.toml + mv Cargo.anchor27.toml Cargo.toml + was_changed="true" + fi + if [[ -f "src/attestation_program/accounts/request.anchor27.rs" ]]; then + mv src/attestation_program/accounts/request.rs src/attestation_program/accounts/request.anchor28.rs + mv src/attestation_program/accounts/request.anchor27.rs src/attestation_program/accounts/request.rs + was_changed="true" + fi + if [[ "${was_changed}" == "true" ]]; then + cargo clean + cargo build + cargo update -p solana-zk-token-sdk --precise 1.14.16 + fi +} + +function set_anchor_28 { + was_changed="false" + if [[ -f "Cargo.anchor28.lock" ]]; then + mv Cargo.lock Cargo.anchor27.lock + mv Cargo.anchor28.lock Cargo.lock + was_changed="true" + fi + if [[ -f "Cargo.anchor28.toml" ]]; then + mv Cargo.toml Cargo.anchor27.toml + mv Cargo.anchor28.toml Cargo.toml + was_changed="true" + fi + if [[ -f "src/attestation_program/accounts/request.anchor28.rs" ]]; then + mv src/attestation_program/accounts/request.rs src/attestation_program/accounts/request.anchor27.rs + mv src/attestation_program/accounts/request.anchor28.rs src/attestation_program/accounts/request.rs + was_changed="true" + fi + if [[ "${was_changed}" == "true" ]]; then + cargo clean + cargo build + fi +} + +if [[ "$1" == "27" ]]; then + set_anchor_27 +elif [[ "$1" == "28" ]]; then + set_anchor_28 +else + echo "" +fi diff --git a/rust/switchboard-solana/src/attestation_program/accounts/attestation_queue.rs b/rust/switchboard-solana/src/attestation_program/accounts/attestation_queue.rs index 41e54a751..15fcca582 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/attestation_queue.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/attestation_queue.rs @@ -77,7 +77,7 @@ impl anchor_lang::AccountDeserialize for AttestationQueueAccountData { fn try_deserialize_unchecked(buf: &mut &[u8]) -> anchor_lang::Result { let data: &[u8] = &buf[8..]; bytemuck::try_from_bytes(data) - .map(|r: &Self| r.clone()) + .map(|r: &Self| *r) .map_err(|_| anchor_lang::error::ErrorCode::AccountDidNotDeserialize.into()) } } diff --git a/rust/switchboard-solana/src/attestation_program/accounts/function.rs b/rust/switchboard-solana/src/attestation_program/accounts/function.rs index 8164f244e..ef587e1c5 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/function.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/function.rs @@ -40,7 +40,7 @@ impl From for FunctionStatus { } #[zero_copy(unsafe)] #[repr(packed)] -#[derive(Debug, PartialEq)] +#[derive(PartialEq)] pub struct FunctionAccountData { // Easy Filtering Config /// Whether the function is invoked on a schedule or by request @@ -119,9 +119,8 @@ pub struct FunctionAccountData { /// Whether new requests need to be authorized by the FunctionAccount authority before being initialized. /// Useful if you want to use CPIs to control request account creation. pub requests_require_authorization: bool, - /// The number of slots after a request has been verified before allowing a non-authority account to close the account. - /// Useful if you want to submit multiple txns in your custom function and need the account to be kept alive for multiple slots. - pub requests_default_slots_until_expiration: u64, + /// DEPRECATED. + pub reserved1: [u8; 8], /// The lamports paid to the FunctionAccount escrow on each successful update request. pub requests_fee: u64, @@ -177,7 +176,7 @@ impl anchor_lang::AccountDeserialize for FunctionAccountData { fn try_deserialize_unchecked(buf: &mut &[u8]) -> anchor_lang::Result { let data: &[u8] = &buf[8..]; bytemuck::try_from_bytes(data) - .map(|r: &Self| r.clone()) + .map(|r: &Self| *r) .map_err(|_| anchor_lang::error::ErrorCode::AccountDidNotDeserialize.into()) } } diff --git a/rust/switchboard-solana/src/attestation_program/accounts/mod.rs b/rust/switchboard-solana/src/attestation_program/accounts/mod.rs index b910b3249..a1aaacef8 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/mod.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/mod.rs @@ -2,7 +2,7 @@ pub mod attestation_permission; pub mod attestation_queue; pub mod attestation_state; pub mod function; -pub mod function_request; +pub mod request; pub mod switchboard_wallet; pub mod verifier; @@ -10,6 +10,6 @@ pub use attestation_permission::*; pub use attestation_queue::*; pub use attestation_state::*; pub use function::*; -pub use function_request::*; +pub use request::*; pub use switchboard_wallet::*; pub use verifier::*; diff --git a/rust/switchboard-solana/src/attestation_program/accounts/function_request.rs b/rust/switchboard-solana/src/attestation_program/accounts/request.anchor27.rs similarity index 80% rename from rust/switchboard-solana/src/attestation_program/accounts/function_request.rs rename to rust/switchboard-solana/src/attestation_program/accounts/request.anchor27.rs index 7d4ed7260..92eafc7a9 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/function_request.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/request.anchor27.rs @@ -37,7 +37,7 @@ impl From for RequestStatus { } } -#[derive(Copy, Clone, AnchorSerialize, AnchorDeserialize)] +#[derive(Copy, Clone, PartialEq)] pub struct FunctionRequestTriggerRound { /// The status of the request. pub status: RequestStatus, @@ -54,17 +54,74 @@ pub struct FunctionRequestTriggerRound { /// The keypair generated in the enclave and required to sign any /// valid transactions processed by the function. pub enclave_signer: Pubkey, + + /// The slot when the request can first be executed. + pub valid_after_slot: u64, + /// Reserved. - pub _ebuf: [u8; 64], + pub _ebuf: [u8; 56], } impl Default for FunctionRequestTriggerRound { fn default() -> Self { unsafe { std::mem::zeroed() } } } +impl borsh::ser::BorshSerialize for FunctionRequestTriggerRound +where + RequestStatus: borsh::ser::BorshSerialize, + u64: borsh::ser::BorshSerialize, + u64: borsh::ser::BorshSerialize, + u64: borsh::ser::BorshSerialize, + u64: borsh::ser::BorshSerialize, + Pubkey: borsh::ser::BorshSerialize, + Pubkey: borsh::ser::BorshSerialize, + u64: borsh::ser::BorshSerialize, +{ + fn serialize( + &self, + writer: &mut W, + ) -> ::core::result::Result<(), borsh::maybestd::io::Error> { + borsh::BorshSerialize::serialize(&self.status, writer)?; + borsh::BorshSerialize::serialize(&self.bounty, writer)?; + borsh::BorshSerialize::serialize(&self.request_slot, writer)?; + borsh::BorshSerialize::serialize(&self.fulfilled_slot, writer)?; + borsh::BorshSerialize::serialize(&self.expiration_slot, writer)?; + borsh::BorshSerialize::serialize(&self.verifier, writer)?; + borsh::BorshSerialize::serialize(&self.enclave_signer, writer)?; + borsh::BorshSerialize::serialize(&self.valid_after_slot, writer)?; + writer.write_all(&[0u8; 56])?; + // borsh::BorshSerialize::serialize(&[0u8; 56], writer)?; + Ok(()) + } +} +impl borsh::de::BorshDeserialize for FunctionRequestTriggerRound +where + RequestStatus: borsh::BorshDeserialize, + u64: borsh::BorshDeserialize, + u64: borsh::BorshDeserialize, + u64: borsh::BorshDeserialize, + u64: borsh::BorshDeserialize, + Pubkey: borsh::BorshDeserialize, + Pubkey: borsh::BorshDeserialize, + u64: borsh::BorshDeserialize, +{ + fn deserialize(buf: &mut &[u8]) -> ::core::result::Result { + Ok(Self { + status: borsh::BorshDeserialize::deserialize(buf)?, + bounty: borsh::BorshDeserialize::deserialize(buf)?, + request_slot: borsh::BorshDeserialize::deserialize(buf)?, + fulfilled_slot: borsh::BorshDeserialize::deserialize(buf)?, + expiration_slot: borsh::BorshDeserialize::deserialize(buf)?, + verifier: borsh::BorshDeserialize::deserialize(buf)?, + enclave_signer: borsh::BorshDeserialize::deserialize(buf)?, + valid_after_slot: borsh::BorshDeserialize::deserialize(buf)?, + _ebuf: [0u8; 56], + }) + } +} // #[account] -#[derive(AnchorDeserialize, AnchorSerialize, Clone)] +#[derive(AnchorDeserialize, AnchorSerialize, Clone, PartialEq)] pub struct FunctionRequestAccountData { // Up-Front Params for RPC filtering /// Whether the request is ready to be processed. diff --git a/rust/switchboard-solana/src/attestation_program/accounts/request.rs b/rust/switchboard-solana/src/attestation_program/accounts/request.rs new file mode 100644 index 000000000..b82ea9283 --- /dev/null +++ b/rust/switchboard-solana/src/attestation_program/accounts/request.rs @@ -0,0 +1,347 @@ +use crate::{cfg_client, prelude::*}; +use solana_program::borsh::get_instance_packed_len; + +#[repr(u8)] +#[derive(Copy, Clone, Default, Debug, Eq, PartialEq, AnchorSerialize, AnchorDeserialize)] +pub enum RequestStatus { + #[default] + None = 0, + RequestPending = 1, + RequestCancelled = 2, + RequestFailure = 3, + RequestExpired = 4, + RequestSuccess = 5, +} +impl From for u8 { + fn from(value: RequestStatus) -> Self { + match value { + RequestStatus::RequestPending => 1, + RequestStatus::RequestCancelled => 2, + RequestStatus::RequestFailure => 3, + RequestStatus::RequestExpired => 4, + RequestStatus::RequestSuccess => 5, + _ => 0, + } + } +} +impl From for RequestStatus { + fn from(value: u8) -> Self { + match value { + 1 => RequestStatus::RequestPending, + 2 => RequestStatus::RequestCancelled, + 3 => RequestStatus::RequestFailure, + 4 => RequestStatus::RequestExpired, + 5 => RequestStatus::RequestSuccess, + _ => RequestStatus::default(), + } + } +} + +#[derive(Copy, Clone, AnchorDeserialize, AnchorSerialize, PartialEq)] +pub struct FunctionRequestTriggerRound { + /// The status of the request. + pub status: RequestStatus, + /// The SOL bounty in lamports used to incentivize a verifier to expedite the request. + pub bounty: u64, + /// The slot the request was published + pub request_slot: u64, + /// The slot when the request was fulfilled + pub fulfilled_slot: u64, + /// The slot when the request will expire and be able to be closed by the non-authority account + pub expiration_slot: u64, + /// The EnclaveAccount who verified the enclave for this request + pub verifier: Pubkey, + /// The keypair generated in the enclave and required to sign any + /// valid transactions processed by the function. + pub enclave_signer: Pubkey, + + /// The slot when the request can first be executed. + pub valid_after_slot: u64, + + /// Reserved. + pub _ebuf: [u8; 56], +} +impl Default for FunctionRequestTriggerRound { + fn default() -> Self { + unsafe { std::mem::zeroed() } + } +} +// impl borsh::ser::BorshSerialize for FunctionRequestTriggerRound +// where +// RequestStatus: borsh::ser::BorshSerialize, +// u64: borsh::ser::BorshSerialize, +// u64: borsh::ser::BorshSerialize, +// u64: borsh::ser::BorshSerialize, +// u64: borsh::ser::BorshSerialize, +// Pubkey: borsh::ser::BorshSerialize, +// Pubkey: borsh::ser::BorshSerialize, +// u64: borsh::ser::BorshSerialize, +// { +// fn serialize( +// &self, +// writer: &mut W, +// ) -> ::core::result::Result<(), borsh::maybestd::io::Error> { +// borsh::BorshSerialize::serialize(&self.status, writer)?; +// borsh::BorshSerialize::serialize(&self.bounty, writer)?; +// borsh::BorshSerialize::serialize(&self.request_slot, writer)?; +// borsh::BorshSerialize::serialize(&self.fulfilled_slot, writer)?; +// borsh::BorshSerialize::serialize(&self.expiration_slot, writer)?; +// borsh::BorshSerialize::serialize(&self.verifier, writer)?; +// borsh::BorshSerialize::serialize(&self.enclave_signer, writer)?; +// borsh::BorshSerialize::serialize(&self.valid_after_slot, writer)?; +// writer.write_all(&[0u8; 56])?; +// // borsh::BorshSerialize::serialize(&[0u8; 56], writer)?; +// Ok(()) +// } +// } +// impl borsh::de::BorshDeserialize for FunctionRequestTriggerRound +// where +// RequestStatus: borsh::BorshDeserialize, +// u64: borsh::BorshDeserialize, +// u64: borsh::BorshDeserialize, +// u64: borsh::BorshDeserialize, +// u64: borsh::BorshDeserialize, +// Pubkey: borsh::BorshDeserialize, +// Pubkey: borsh::BorshDeserialize, +// u64: borsh::BorshDeserialize, +// { +// fn deserialize(buf: &mut &[u8]) -> ::core::result::Result { +// Ok(Self { +// status: borsh::BorshDeserialize::deserialize(buf)?, +// bounty: borsh::BorshDeserialize::deserialize(buf)?, +// request_slot: borsh::BorshDeserialize::deserialize(buf)?, +// fulfilled_slot: borsh::BorshDeserialize::deserialize(buf)?, +// expiration_slot: borsh::BorshDeserialize::deserialize(buf)?, +// verifier: borsh::BorshDeserialize::deserialize(buf)?, +// enclave_signer: borsh::BorshDeserialize::deserialize(buf)?, +// valid_after_slot: borsh::BorshDeserialize::deserialize(buf)?, +// _ebuf: [0u8; 56], +// }) +// } +// } + +// #[account] +#[derive(AnchorDeserialize, AnchorSerialize, Clone, PartialEq)] +pub struct FunctionRequestAccountData { + // Up-Front Params for RPC filtering + /// Whether the request is ready to be processed. + pub is_triggered: u8, + /// The status of the current request. + pub status: RequestStatus, + + // Accounts + /// Signer allowed to cancel the request. + pub authority: Pubkey, + /// The default destination for rent exemption when the account is closed. + pub payer: Pubkey, + /// The function that can process this request + pub function: Pubkey, + /// The tokenAccount escrow + pub escrow: Pubkey, + /// The Attestation Queue for this request. + pub attestation_queue: Pubkey, + + // Rounds + /// The current active request. + pub active_request: FunctionRequestTriggerRound, + /// The previous request. + pub previous_request: FunctionRequestTriggerRound, + + // Container Params + /// The maximum number of bytes to pass to the container params. + pub max_container_params_len: u32, + /// Hash of the serialized container_params to prevent RPC tampering. + /// Should be verified within your function to ensure you are using the correct parameters. + pub container_params_hash: [u8; 32], + /// The stringified container params to pass to the function. + pub container_params: Vec, + + // Metadata + /// The unix timestamp when the function was created. + pub created_at: i64, + /// The slot when the account can be garbage collected and closed by anyone for a portion of the rent. + pub garbage_collection_slot: Option, + + /// Reserved. + pub _ebuf: [u8; 256], +} +impl Default for FunctionRequestAccountData { + fn default() -> Self { + Self { + is_triggered: 0, + status: RequestStatus::None, + authority: Pubkey::default(), + payer: Pubkey::default(), + function: Pubkey::default(), + escrow: Pubkey::default(), + attestation_queue: Pubkey::default(), + active_request: FunctionRequestTriggerRound::default(), + previous_request: FunctionRequestTriggerRound::default(), + max_container_params_len: 0, + container_params_hash: [0u8; 32], + container_params: Vec::new(), + created_at: 0, + garbage_collection_slot: None, + _ebuf: [0u8; 256], + } + } +} + +impl anchor_lang::AccountSerialize for FunctionRequestAccountData { + fn try_serialize(&self, writer: &mut W) -> anchor_lang::Result<()> { + if writer + .write_all(&FunctionRequestAccountData::discriminator()) + .is_err() + { + return Err(anchor_lang::error::ErrorCode::AccountDidNotSerialize.into()); + } + if AnchorSerialize::serialize(self, writer).is_err() { + return Err(anchor_lang::error::ErrorCode::AccountDidNotSerialize.into()); + } + Ok(()) + } +} + +impl anchor_lang::AccountDeserialize for FunctionRequestAccountData { + fn try_deserialize(buf: &mut &[u8]) -> anchor_lang::Result { + if buf.len() < FunctionRequestAccountData::discriminator().len() { + return Err(anchor_lang::error::ErrorCode::AccountDiscriminatorNotFound.into()); + } + let given_disc = &buf[..8]; + if FunctionRequestAccountData::discriminator() != given_disc { + return Err( + anchor_lang::error::Error::from(anchor_lang::error::AnchorError { + error_name: anchor_lang::error::ErrorCode::AccountDiscriminatorMismatch.name(), + error_code_number: anchor_lang::error::ErrorCode::AccountDiscriminatorMismatch + .into(), + error_msg: anchor_lang::error::ErrorCode::AccountDiscriminatorMismatch + .to_string(), + error_origin: Some(anchor_lang::error::ErrorOrigin::Source( + anchor_lang::error::Source { + filename: "programs/attestation_program/src/lib.rs", + line: 1u32, + }, + )), + compared_values: None, + }) + .with_account_name("FunctionRequestAccountData"), + ); + } + Self::try_deserialize_unchecked(buf) + } + fn try_deserialize_unchecked(buf: &mut &[u8]) -> anchor_lang::Result { + let mut data: &[u8] = &buf[8..]; + AnchorDeserialize::deserialize(&mut data) + .map_err(|_| anchor_lang::error::ErrorCode::AccountDidNotDeserialize.into()) + } +} + +impl Discriminator for FunctionRequestAccountData { + const DISCRIMINATOR: [u8; 8] = [8, 14, 177, 85, 144, 65, 148, 246]; +} + +impl Owner for FunctionRequestAccountData { + fn owner() -> Pubkey { + SWITCHBOARD_ATTESTATION_PROGRAM_ID + } +} + +impl FunctionRequestAccountData { + pub fn space(len: Option) -> usize { + let base: usize = 8 // discriminator + + get_instance_packed_len(&FunctionRequestAccountData::default()).unwrap(); + let vec_elements: usize = len.unwrap_or(crate::DEFAULT_USERS_CONTAINER_PARAMS_LEN) as usize; + base + vec_elements + } + + // verify if their is a non-expired pending request + pub fn is_round_active(&self, clock: &Clock) -> bool { + if self.active_request.status == RequestStatus::RequestPending + && self.active_request.expiration_slot > 0 + && clock.slot >= self.active_request.expiration_slot + { + return true; + } + + false + } + + pub fn validate_signer<'a>( + &self, + function_account_info: &AccountInfo<'a>, + signer: &AccountInfo<'a>, + ) -> anchor_lang::Result { + if self.function != function_account_info.key() { + msg!("function key mismatch"); + msg!( + "expected {}, received {}", + self.function, + function_account_info.key() + ); + return Ok(false); + } + + let function_loader = + AccountLoader::<'_, FunctionAccountData>::try_from(&function_account_info.clone())?; + function_loader.load()?; // check owner/discriminator + + // validate the enclaves delegated signer matches + if self.active_request.enclave_signer != signer.key() { + msg!("request signer mismatch"); + msg!( + "expected {}, received {}", + self.active_request.enclave_signer, + signer.key() + ); + return Ok(false); + } + + Ok(true) + } + + cfg_client! { + pub fn get_discriminator_filter() -> solana_client::rpc_filter::RpcFilterType { + solana_client::rpc_filter::RpcFilterType::Memcmp(solana_client::rpc_filter::Memcmp::new_raw_bytes( + 0, + FunctionRequestAccountData::discriminator().to_vec(), + )) + } + + pub fn get_is_triggered_filter() -> solana_client::rpc_filter::RpcFilterType { + solana_client::rpc_filter::RpcFilterType::Memcmp(solana_client::rpc_filter::Memcmp::new_raw_bytes( + 8, + vec![1u8], + )) + } + + pub fn get_is_active_filter() -> solana_client::rpc_filter::RpcFilterType { + solana_client::rpc_filter::RpcFilterType::Memcmp(solana_client::rpc_filter::Memcmp::new_raw_bytes( + 9, + vec![RequestStatus::RequestPending as u8], + )) + } + + pub fn get_queue_filter(queue_pubkey: &Pubkey) -> solana_client::rpc_filter::RpcFilterType { + solana_client::rpc_filter::RpcFilterType::Memcmp(solana_client::rpc_filter::Memcmp::new_raw_bytes( + 138, + queue_pubkey.to_bytes().into(), + )) + } + + pub fn get_is_ready_filters(queue_pubkey: &Pubkey) -> Vec { + vec![ + FunctionRequestAccountData::get_discriminator_filter(), + FunctionRequestAccountData::get_is_triggered_filter(), + FunctionRequestAccountData::get_is_active_filter(), + FunctionRequestAccountData::get_queue_filter(queue_pubkey), + ] + } + + pub async fn fetch( + client: &solana_client::rpc_client::RpcClient, + pubkey: Pubkey, + ) -> std::result::Result { + crate::client::fetch_anchor_account(client, pubkey).await + } + } +} diff --git a/rust/switchboard-solana/src/attestation_program/accounts/verifier.rs b/rust/switchboard-solana/src/attestation_program/accounts/verifier.rs index a75f0cb47..59c7d0087 100644 --- a/rust/switchboard-solana/src/attestation_program/accounts/verifier.rs +++ b/rust/switchboard-solana/src/attestation_program/accounts/verifier.rs @@ -103,7 +103,7 @@ impl anchor_lang::AccountDeserialize for VerifierAccountData { fn try_deserialize_unchecked(buf: &mut &[u8]) -> anchor_lang::Result { let data: &[u8] = &buf[8..]; bytemuck::try_from_bytes(data) - .map(|r: &Self| r.clone()) + .map(|r: &Self| *r) .map_err(|_| anchor_lang::error::ErrorCode::AccountDidNotDeserialize.into()) } } diff --git a/rust/switchboard-solana/src/attestation_program/instructions/function_init.rs b/rust/switchboard-solana/src/attestation_program/instructions/function_init.rs index ec1a76eb9..b98e9c04b 100644 --- a/rust/switchboard-solana/src/attestation_program/instructions/function_init.rs +++ b/rust/switchboard-solana/src/attestation_program/instructions/function_init.rs @@ -65,7 +65,6 @@ pub struct FunctionInitParams { pub recent_slot: u64, pub requests_disabled: bool, pub requests_require_authorization: bool, - pub requests_default_slots_until_expiration: u64, pub requests_fee: u64, pub creator_seed: Option<[u8; 32]>, } diff --git a/rust/switchboard-solana/src/attestation_program/instructions/function_set_config.rs b/rust/switchboard-solana/src/attestation_program/instructions/function_set_config.rs index c9da53db7..8c7db602a 100644 --- a/rust/switchboard-solana/src/attestation_program/instructions/function_set_config.rs +++ b/rust/switchboard-solana/src/attestation_program/instructions/function_set_config.rs @@ -27,7 +27,6 @@ pub struct FunctionSetConfigParams { pub mr_enclaves: Option>, pub requests_disabled: Option, pub requests_require_authorization: Option, - pub requests_default_slots_until_expiration: Option, pub requests_fee: Option, } diff --git a/rust/switchboard-solana/src/attestation_program/instructions/mod.rs b/rust/switchboard-solana/src/attestation_program/instructions/mod.rs index 082dff09a..a0077fa08 100644 --- a/rust/switchboard-solana/src/attestation_program/instructions/mod.rs +++ b/rust/switchboard-solana/src/attestation_program/instructions/mod.rs @@ -16,12 +16,15 @@ pub use function_verify::*; pub mod function_close; pub use function_close::*; -pub mod function_request_init_and_trigger; -pub use function_request_init_and_trigger::*; +pub mod request_init_and_trigger; +pub use request_init_and_trigger::*; pub mod request_init; pub use request_init::*; +pub mod request_trigger; +pub use request_trigger::*; + pub mod request_verify; pub use request_verify::*; diff --git a/rust/switchboard-solana/src/attestation_program/instructions/function_request_init_and_trigger.rs b/rust/switchboard-solana/src/attestation_program/instructions/request_init_and_trigger.rs similarity index 96% rename from rust/switchboard-solana/src/attestation_program/instructions/function_request_init_and_trigger.rs rename to rust/switchboard-solana/src/attestation_program/instructions/request_init_and_trigger.rs index 7ff708ddb..1d1c29c06 100644 --- a/rust/switchboard-solana/src/attestation_program/instructions/function_request_init_and_trigger.rs +++ b/rust/switchboard-solana/src/attestation_program/instructions/request_init_and_trigger.rs @@ -52,6 +52,7 @@ pub struct FunctionRequestInitAndTriggerParams { pub max_container_params_len: Option, pub container_params: Option>, pub garbage_collection_slot: Option, + pub valid_after_slot: Option, } impl InstructionData for FunctionRequestInitAndTriggerParams {} @@ -88,6 +89,7 @@ impl<'info> FunctionRequestInitAndTrigger<'info> { max_container_params_len: Option, container_params: Option>, garbage_collection_slot: Option, + valid_after_slot: Option, ) -> ProgramResult { let instruction = self.get_instruction( *program.key, @@ -97,6 +99,7 @@ impl<'info> FunctionRequestInitAndTrigger<'info> { max_container_params_len, container_params, garbage_collection_slot, + valid_after_slot, }, )?; let account_infos = self.to_account_infos(); @@ -112,6 +115,7 @@ impl<'info> FunctionRequestInitAndTrigger<'info> { max_container_params_len: Option, container_params: Option>, garbage_collection_slot: Option, + valid_after_slot: Option, signer_seeds: &[&[&[u8]]], ) -> ProgramResult { let instruction = self.get_instruction( @@ -122,6 +126,7 @@ impl<'info> FunctionRequestInitAndTrigger<'info> { max_container_params_len, container_params, garbage_collection_slot, + valid_after_slot, }, )?; let account_infos = self.to_account_infos(); diff --git a/rust/switchboard-solana/src/attestation_program/instructions/request_trigger.rs b/rust/switchboard-solana/src/attestation_program/instructions/request_trigger.rs new file mode 100644 index 000000000..9c67e2c5b --- /dev/null +++ b/rust/switchboard-solana/src/attestation_program/instructions/request_trigger.rs @@ -0,0 +1,148 @@ +use crate::prelude::*; + +#[derive(Accounts)] +#[instruction(params:FunctionRequestTriggerParams)] +pub struct FunctionRequestTrigger<'info> { + #[account( + mut, + has_one = function, + has_one = escrow, + has_one = authority, + )] + pub request: Box>, + + /// CHECK: the request authority must authorize new requests + pub authority: Signer<'info>, + + #[account( + mut, + constraint = escrow.is_native() && escrow.owner == state.key() + )] + pub escrow: Box>, + + #[account( + mut, + has_one = attestation_queue @ SwitchboardError::InvalidQueue, + )] + pub function: AccountLoader<'info, FunctionAccountData>, + + #[account( + seeds = [STATE_SEED], + bump = state.load()?.bump, + )] + pub state: AccountLoader<'info, AttestationProgramState>, + + pub attestation_queue: AccountLoader<'info, AttestationQueueAccountData>, + + #[account(mut)] + pub payer: Signer<'info>, + + pub token_program: Program<'info, Token>, + + pub system_program: Program<'info, System>, +} + +#[derive(Clone, AnchorSerialize, AnchorDeserialize)] +pub struct FunctionRequestTriggerParams { + pub bounty: Option, + pub slots_until_expiration: Option, + // TODO: maybe add param to force transfer from function escrow if authority signs + pub valid_after_slot: Option, +} + +impl InstructionData for FunctionRequestTriggerParams {} + +impl Discriminator for FunctionRequestTriggerParams { + const DISCRIMINATOR: [u8; 8] = [74, 35, 78, 67, 196, 102, 78, 153]; +} + +impl Discriminator for FunctionRequestTrigger<'_> { + const DISCRIMINATOR: [u8; 8] = [74, 35, 78, 67, 196, 102, 78, 153]; +} + +impl<'info> FunctionRequestTrigger<'info> { + pub fn get_instruction( + &self, + program_id: Pubkey, + params: FunctionRequestTriggerParams, + ) -> anchor_lang::Result { + let accounts = self.to_account_metas(None); + + let mut data: Vec = FunctionRequestTrigger::discriminator().try_to_vec()?; + let mut param_vec: Vec = params.try_to_vec()?; + data.append(&mut param_vec); + + let instruction = Instruction::new_with_bytes(program_id, &data, accounts); + Ok(instruction) + } + + pub fn invoke( + &self, + program: AccountInfo<'info>, + bounty: Option, + slots_until_expiration: Option, + valid_after_slot: Option, + ) -> ProgramResult { + let instruction = self.get_instruction( + *program.key, + FunctionRequestTriggerParams { + bounty, + slots_until_expiration, + valid_after_slot, + }, + )?; + let account_infos = self.to_account_infos(); + + invoke(&instruction, &account_infos[..]) + } + + pub fn invoke_signed( + &self, + program: AccountInfo<'info>, + bounty: Option, + slots_until_expiration: Option, + valid_after_slot: Option, + signer_seeds: &[&[&[u8]]], + ) -> ProgramResult { + let instruction = self.get_instruction( + *program.key, + FunctionRequestTriggerParams { + bounty, + slots_until_expiration, + valid_after_slot, + }, + )?; + let account_infos = self.to_account_infos(); + + invoke_signed(&instruction, &account_infos[..], signer_seeds) + } + + fn to_account_infos(&self) -> Vec> { + let mut account_infos = Vec::new(); + account_infos.extend(self.request.to_account_infos()); + account_infos.extend(self.authority.to_account_infos()); + account_infos.extend(self.escrow.to_account_infos()); + account_infos.extend(self.function.to_account_infos()); + account_infos.extend(self.state.to_account_infos()); + account_infos.extend(self.attestation_queue.to_account_infos()); + account_infos.extend(self.payer.to_account_infos()); + account_infos.extend(self.token_program.to_account_infos()); + account_infos.extend(self.system_program.to_account_infos()); + account_infos + } + + #[allow(unused_variables)] + fn to_account_metas(&self, is_signer: Option) -> Vec { + let mut account_metas = Vec::new(); + account_metas.extend(self.request.to_account_metas(None)); + account_metas.extend(self.authority.to_account_metas(Some(true))); + account_metas.extend(self.escrow.to_account_metas(None)); + account_metas.extend(self.function.to_account_metas(None)); + account_metas.extend(self.state.to_account_metas(None)); + account_metas.extend(self.attestation_queue.to_account_metas(None)); + account_metas.extend(self.payer.to_account_metas(Some(true))); + account_metas.extend(self.token_program.to_account_metas(None)); + account_metas.extend(self.system_program.to_account_metas(None)); + account_metas + } +} diff --git a/rust/switchboard-solana/src/client/function_runner.rs b/rust/switchboard-solana/src/client/function_runner.rs index e91b1ae11..6e6fbab0b 100644 --- a/rust/switchboard-solana/src/client/function_runner.rs +++ b/rust/switchboard-solana/src/client/function_runner.rs @@ -7,11 +7,12 @@ use sgx_quote::Quote; use solana_client::rpc_client::RpcClient; use solana_sdk::commitment_config::CommitmentConfig; use solana_sdk::signer::keypair::Keypair; -use std::env; use std::result::Result; +use std::str::FromStr; use std::sync::Arc; use switchboard_common::ChainResultInfo::Solana; use switchboard_common::SOLFunctionResult; +use switchboard_common::SolanaFunctionEnvironment; #[derive(Clone)] pub struct FunctionRunner { @@ -20,15 +21,20 @@ pub struct FunctionRunner { signer_keypair: Arc, pub signer: Pubkey, + // required to run pub function: Pubkey, - pub function_data: Box, - - pub fn_request_key: Pubkey, - pub fn_request_data: Box, - pub payer: Pubkey, pub verifier: Pubkey, pub reward_receiver: Pubkey, + + // can be manually populated from client if missing + pub function_data: Option>, + pub verifier_enclave_signer: Option, + pub queue_authority: Option, + + // only used for requests + pub function_request_key: Option, + pub function_request_data: Option>, } impl std::fmt::Display for FunctionRunner { @@ -49,33 +55,104 @@ impl FunctionRunner { let signer_keypair = generate_signer(); let signer = signer_to_pubkey(signer_keypair.clone())?; - let function = load_env_pubkey("FUNCTION_KEY")?; - let function_data = *bytemuck::try_from_bytes( - &hex::decode(env::var("FUNCTION_DATA").unwrap_or_default()).unwrap_or_default(), - ) - .unwrap_or(&Default::default()); - - let fn_request_key = load_env_pubkey("FUNCTION_REQUEST_KEY").unwrap_or_default(); - let fn_request_data = FunctionRequestAccountData::try_from_slice( - &hex::decode(env::var("FUNCTION_REQUEST_DATA").unwrap_or_default()).unwrap_or_default(), - ) - .unwrap_or_default(); + let env = SolanaFunctionEnvironment::parse()?; + msg!("ENV: {:?}", env); + + // required to run + let function = Pubkey::from_str(&env.function_key).unwrap(); + let payer = Pubkey::from_str(&env.payer).unwrap(); + let verifier = Pubkey::from_str(&env.verifier).unwrap(); + let reward_receiver = Pubkey::from_str(&env.reward_receiver).unwrap(); + + // can be manually populated from client if missing + let function_data: Option> = if let Some(function_data_encoded) = + env.function_data.as_ref() + { + match bytemuck::try_from_bytes(&hex::decode(function_data_encoded).unwrap_or_default()) + { + Ok(function_data) => { + if function_data != &FunctionAccountData::default() { + Some(Box::new(*function_data)) + } else { + None + } + } + Err(_) => None, + } + } else { + None + }; + let verifier_enclave_signer: Option = + if let Some(verifier_enclave_signer) = env.verifier_enclave_signer { + match Pubkey::from_str(&verifier_enclave_signer) { + Ok(verifier_enclave_signer) => { + if verifier_enclave_signer != Pubkey::default() { + Some(verifier_enclave_signer) + } else { + None + } + } + Err(_) => None, + } + } else { + None + }; + let queue_authority: Option = if let Some(queue_authority) = env.queue_authority { + match Pubkey::from_str(&queue_authority) { + Ok(queue_authority) => { + if queue_authority != Pubkey::default() { + Some(queue_authority) + } else { + None + } + } + Err(_) => None, + } + } else { + None + }; - let payer = load_env_pubkey("PAYER")?; - let verifier = load_env_pubkey("VERIFIER")?; - let reward_receiver = load_env_pubkey("REWARD_RECEIVER")?; + // only used for requests + let function_request_key: Option = + if let Some(function_request_key) = env.function_request_key { + match Pubkey::from_str(&function_request_key) { + Ok(function_request_key) => { + if function_request_key != Pubkey::default() { + Some(function_request_key) + } else { + None + } + } + Err(_) => None, + } + } else { + None + }; + let function_request_data: Option> = + if let Some(function_request_data_encoded) = env.function_request_data.as_ref() { + match FunctionRequestAccountData::try_from_slice( + &hex::decode(function_request_data_encoded).unwrap_or_default(), + ) { + Ok(function_request_data) => Some(Box::new(function_request_data)), + Err(_) => None, + } + } else { + None + }; Ok(Self { client: Arc::new(client), signer_keypair, signer, function, - function_data: Box::new(function_data), - fn_request_key, - fn_request_data: Box::new(fn_request_data), + function_data, + function_request_key, + function_request_data, payer, verifier, reward_receiver, + verifier_enclave_signer, + queue_authority, }) } @@ -96,33 +173,137 @@ impl FunctionRunner { Self::new(cluster.url(), commitment) } + pub fn from_env(commitment: Option) -> Result { + let cluster = Cluster::from_str(&std::env::var("CLUSTER").unwrap_or("devnet".to_string())) + .unwrap_or(Cluster::Devnet); + Self::new_from_cluster(cluster, commitment) + } + + async fn load_queue_authority( + &self, + attestation_queue_pubkey: Pubkey, + ) -> Result { + let queue_authority = self.queue_authority.unwrap_or_default(); + if queue_authority != Pubkey::default() { + return Ok(queue_authority); + } + + msg!( + "queue_authority missing! {}", + std::env::var("QUEUE_AUTHORITY").unwrap_or("N/A".to_string()) + ); + + msg!( + "fetching attestation_queue account {}", + attestation_queue_pubkey + ); + + match AttestationQueueAccountData::fetch(&self.client, attestation_queue_pubkey).await { + Err(error) => Err(SwitchboardClientError::CustomMessage(format!( + "failed to fetch attestation_queue {}: {}", + attestation_queue_pubkey, error + ))), + Ok(attestation_queue) => Ok(attestation_queue.authority), + } + } + + async fn load_verifier_signer( + &self, + verifier_pubkey: Pubkey, + ) -> Result { + let verifier_enclave_signer = self.verifier_enclave_signer.unwrap_or_default(); + if verifier_enclave_signer != Pubkey::default() { + return Ok(verifier_enclave_signer); + } + + msg!( + "verifier_enclave_signer missing! {}", + std::env::var("VERIFIER_ENCLAVE_SIGNER").unwrap_or("N/A".to_string()) + ); + + msg!("fetching verifier account {}", verifier_pubkey); + + match VerifierAccountData::fetch(&self.client, verifier_pubkey).await { + Err(error) => Err(SwitchboardClientError::CustomMessage(format!( + "failed to fetch verifier {}: {}", + verifier_pubkey, error + ))), + Ok(verifier_data) => Ok(verifier_data.enclave.enclave_signer), + } + } + + pub async fn load_function_data( + &self, + ) -> Result, SwitchboardClientError> { + if let Some(function_data) = self.function_data.as_ref() { + if **function_data != FunctionAccountData::default() { + return Ok(function_data.clone()); + } + } + + msg!("fetching function account {}", self.function); + + match FunctionAccountData::fetch(&self.client, self.function).await { + Ok(function_data) => Ok(Box::new(function_data)), + Err(error) => Err(SwitchboardClientError::CustomMessage(format!( + "failed to fetch function {}: {}", + self.function, error + ))), + } + } + + pub async fn load_request_data( + &self, + ) -> Result, SwitchboardClientError> { + let function_request_key = self.function_request_key.unwrap_or_default(); + if function_request_key == Pubkey::default() { + return Err(SwitchboardClientError::CustomMessage( + "function_request_key is missing but required to fetch function request account" + .to_string(), + )); + } + + if let Some(function_request_data) = self.function_request_data.as_ref() { + if **function_request_data != FunctionRequestAccountData::default() { + return Ok(function_request_data.clone()); + } + } + + msg!("fetching request account {}", function_request_key); + + match FunctionRequestAccountData::fetch(&self.client, function_request_key).await { + Ok(function_request_data) => Ok(Box::new(function_request_data)), + Err(error) => Err(SwitchboardClientError::CustomMessage(format!( + "failed to fetch function request {}: {}", + function_request_key, error + ))), + } + } + async fn build_fn_verify_ixn( &self, mr_enclave: MrEnclave, ) -> Result { - let current_time = unix_timestamp(); - - // let fn_data: FunctionAccountData = - // FunctionAccountData::fetch(&self.client, self.function).await?; + if self.function == Pubkey::default() { + return Err(SwitchboardClientError::CustomMessage( + "funciton pubkey is missing but required to build function_verify ixn".to_string(), + )); + } - println!("Fetching verifier account {}", self.verifier); - let verifier_quote: VerifierAccountData = - VerifierAccountData::fetch(&self.client, self.verifier).await?; + let function_data = self.load_function_data().await?; - println!( - "Fetching attestation queue account {}", - self.function_data.attestation_queue - ); - let queue_data: AttestationQueueAccountData = - crate::client::load_account(&self.client, self.function_data.attestation_queue).await?; + let queue_authority = self + .load_queue_authority(function_data.attestation_queue) + .await?; + let verifier_enclave_signer = self.load_verifier_signer(self.verifier).await?; let verifier_permission = AttestationPermissionAccountData::get_pda( - &queue_data.authority, - &self.function_data.attestation_queue, + &queue_authority, + &function_data.attestation_queue, &self.verifier, ); - let maybe_next_allowed_timestamp = self.function_data.get_next_execution_datetime(); + let maybe_next_allowed_timestamp = function_data.get_next_execution_datetime(); let next_allowed_timestamp: i64 = if maybe_next_allowed_timestamp.is_some() { maybe_next_allowed_timestamp.unwrap().timestamp() } else { @@ -130,7 +311,7 @@ impl FunctionRunner { }; let ixn_params = FunctionVerifyParams { - observed_time: current_time, + observed_time: unix_timestamp(), next_allowed_timestamp, is_failure: false, mr_enclave, @@ -140,11 +321,11 @@ impl FunctionRunner { function: self.function, function_enclave_signer: self.signer, verifier_quote: self.verifier, - verifier_enclave_signer: verifier_quote.enclave.enclave_signer, + verifier_enclave_signer, verifier_permission, - escrow_wallet: self.function_data.escrow_wallet, - escrow_token_wallet: self.function_data.escrow_token_wallet, - attestation_queue: self.function_data.attestation_queue, + escrow_wallet: function_data.escrow_wallet, + escrow_token_wallet: function_data.escrow_token_wallet, + attestation_queue: function_data.attestation_queue, receiver: self.reward_receiver, }; let ixn: Instruction = accounts.get_instruction(ixn_params)?; @@ -155,54 +336,51 @@ impl FunctionRunner { &self, mr_enclave: MrEnclave, ) -> Result { - let current_time = unix_timestamp(); - - let fn_request_data: FunctionRequestAccountData = - FunctionRequestAccountData::fetch(&self.client, self.fn_request_key).await?; - - if self.function != fn_request_data.function { - return Err(SwitchboardClientError::CustomMessage( - "function key mismatch".to_string(), - )); + let function_request_data = self.load_request_data().await?; + let function_request_key = self.function_request_key.unwrap_or_default(); // verified in load_request_data + + if function_request_data.function != self.function { + return Err(SwitchboardClientError::CustomMessage(format!( + "function_key mismatch: expected {}, received {}", + function_request_data.function, self.function + ))); } - // let fn_data: FunctionAccountData = - // FunctionAccountData::fetch(&self.client, self.function).await?; - - let verifier_quote: VerifierAccountData = - VerifierAccountData::fetch(&self.client, self.verifier).await?; + let function_data = self.load_function_data().await?; - let queue_data: AttestationQueueAccountData = - crate::client::load_account(&self.client, self.function_data.attestation_queue).await?; + let queue_authority = self + .load_queue_authority(function_data.attestation_queue) + .await?; + let verifier_enclave_signer = self.load_verifier_signer(self.verifier).await?; let verifier_permission = AttestationPermissionAccountData::get_pda( - &queue_data.authority, - &self.function_data.attestation_queue, + &queue_authority, + &function_data.attestation_queue, &self.verifier, ); let ixn_params = FunctionRequestVerifyParams { - observed_time: current_time, + observed_time: unix_timestamp(), is_failure: false, mr_enclave, - request_slot: fn_request_data.active_request.request_slot, - container_params_hash: fn_request_data.container_params_hash, + request_slot: function_request_data.active_request.request_slot, + container_params_hash: function_request_data.container_params_hash, }; let (state_pubkey, _state_bump) = Pubkey::find_program_address(&[STATE_SEED], &SWITCHBOARD_ATTESTATION_PROGRAM_ID); let accounts = FunctionRequestVerifyAccounts { - request: self.fn_request_key, + request: function_request_key, function_enclave_signer: self.signer, - token_wallet: fn_request_data.escrow, + token_wallet: function_request_data.escrow, function: self.function, - function_escrow: self.function_data.escrow_token_wallet, + function_escrow: function_data.escrow_token_wallet, verifier_quote: self.verifier, - verifier_enclave_signer: verifier_quote.enclave.enclave_signer, + verifier_enclave_signer, verifier_permission, state: state_pubkey, - attestation_queue: self.function_data.attestation_queue, + attestation_queue: function_data.attestation_queue, receiver: self.reward_receiver, }; let ixn: Instruction = accounts.get_instruction(ixn_params)?; @@ -217,10 +395,10 @@ impl FunctionRunner { let quote = Quote::parse("e_raw).unwrap(); let mr_enclave: MrEnclave = quote.isv_report.mrenclave.try_into().unwrap(); - let verify_ixn = if self.fn_request_key == Pubkey::default() { + let function_request_key = self.function_request_key.unwrap_or_default(); + let verify_ixn = if function_request_key == Pubkey::default() { self.build_fn_verify_ixn(mr_enclave).await? } else { - println!("request detected!"); self.build_fn_request_verify_ixn(mr_enclave).await? }; ixs.insert(0, verify_ixn); @@ -229,12 +407,18 @@ impl FunctionRunner { let mut tx = solana_sdk::transaction::Transaction::new_unsigned(message); tx.partial_sign(&[self.signer_keypair.as_ref()], blockhash); + let fn_request_key: Vec = if function_request_key != Pubkey::default() { + function_request_key.to_bytes().to_vec() + } else { + vec![] + }; + Ok(FunctionResult { version: 1, quote: quote_raw, fn_key: self.function.to_bytes().into(), signer: self.signer.to_bytes().into(), - fn_request_key: self.fn_request_key.to_bytes().into(), + fn_request_key, fn_request_hash: Vec::new(), chain_result_info: Solana(SOLFunctionResult { serialized_tx: bincode::serialize(&tx).unwrap(), @@ -245,9 +429,8 @@ impl FunctionRunner { pub async fn emit(&self, ixs: Vec) -> Result<(), SwitchboardClientError> { self.get_result(ixs) .await - .map_err(|e| SwitchboardClientError::CustomError { - message: "failed to run function verify".to_string(), - source: std::sync::Arc::new(e), + .map_err(|e| { + SwitchboardClientError::CustomMessage(format!("failed to get verify ixn: {}", e)) }) .unwrap() .emit(); diff --git a/rust/switchboard-solana/src/client/mod.rs b/rust/switchboard-solana/src/client/mod.rs index cda1d4e45..46d732554 100644 --- a/rust/switchboard-solana/src/client/mod.rs +++ b/rust/switchboard-solana/src/client/mod.rs @@ -1,5 +1,7 @@ pub mod function_runner; -pub mod utils; - pub use function_runner::*; + +pub mod utils; pub use utils::*; + +pub use switchboard_common::SolanaFunctionEnvironment; diff --git a/rust/switchboard-solana/src/instructions.rs b/rust/switchboard-solana/src/instructions.rs index c85c82221..9039a3db8 100644 --- a/rust/switchboard-solana/src/instructions.rs +++ b/rust/switchboard-solana/src/instructions.rs @@ -5,6 +5,6 @@ pub use crate::oracle_program::instructions::{ pub use crate::attestation_program::instructions::{ FunctionClose, FunctionInit, FunctionRequestClose, FunctionRequestInit, - FunctionRequestInitAndTrigger, FunctionRequestVerify, FunctionSetEscrow, FunctionTrigger, - FunctionVerify, WalletFund, WalletInit, + FunctionRequestInitAndTrigger, FunctionRequestTrigger, FunctionRequestVerify, + FunctionSetEscrow, FunctionTrigger, FunctionVerify, WalletFund, WalletInit, }; diff --git a/rust/switchboard-solana/src/lib.rs b/rust/switchboard-solana/src/lib.rs index 514c461d3..5e3f32637 100644 --- a/rust/switchboard-solana/src/lib.rs +++ b/rust/switchboard-solana/src/lib.rs @@ -12,12 +12,35 @@ //! The Switchboard deployment consists of two programs: //! //! - The Oracle Program: The core Switchboard deployment consisting of Aggregators (data feeds), -//! Oracles, and Oracle Queues. Program_ID=SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f +//! Oracles, and Oracle Queues. Program_ID: `SW1TCH7qEPTdLsDHRgPuMQjbQxKdH2aBStViMFnt64f` //! - The Attestation Program (V3): Enables the use of Trusted Execution Environments (TEEs) //! providing verifiable off-chain compute allowing developers to write their own off-chain //! logic and "attest" on-chain whether it was executed within a secure enclave. -//! Program_ID=sbattyXrzedoNATfc4L31wC9Mhxsi1BmFhTiN8gDshx +//! Program_ID: `sbattyXrzedoNATfc4L31wC9Mhxsi1BmFhTiN8gDshx` //! +//! # Accounts +//! +//! This SDK provides the following account definitions for the Oracle Program: +//! +//! - [OracleQueue](OracleQueueAccountData) +//! - [Crank](CrankAccountData) +//! - [Oracle](OracleAccountData) +//! - [Permission](PermissionAccountData) +//! - [Aggregator](AggregatorAccountData) +//! - [Job](JobAccountData) +//! - [Lease](LeaseAccountData) +//! - [Vrf](VrfAccountData) +//! - [VrfLite](VrfLiteAccountData) +//! - [VrfPool](VrfPoolAccountData) +//! +//! This SDK provides the following account definitions for the Attestation Program: +//! +//! - [AttestationQueue](AttestationQueueAccountData) +//! - [Verifier](VerifierAccountData) +//! - [AttestationPermission](AttestationPermissionAccountData) +//! - [SwitchboardWallet](SwitchboardWallet) +//! - [Function](FunctionAccountData) +//! - [FunctionRequest](FunctionRequestAccountData) //! # Usage //! //! Within an Anchor program you can make use of the AccountLoader trait to deserialize @@ -69,31 +92,6 @@ //! let feed = AggregatorAccountData::new(aggregator)?; //! } //! ``` -//! -//! -//! # Accounts -//! -//! This SDK provides the following account definitions for the Oracle Program: -//! -//! - [OracleQueue](OracleQueueAccountData) -//! - [Crank](CrankAccountData) -//! - [Oracle](OracleAccountData) -//! - [Permission](PermissionAccountData) -//! - [Aggregator](AggregatorAccountData) -//! - [Job](JobAccountData) -//! - [Lease](LeaseAccountData) -//! - [Vrf](VrfAccountData) -//! - [VrfLite](VrfLiteAccountData) -//! - [VrfPool](VrfPoolAccountData) -//! -//! This SDK provides the following account definitions for the Attestation Program: -//! -//! - [AttestationQueue](AttestationQueueAccountData) -//! - [Verifier](VerifierAccountData) -//! - [AttestationPermission](AttestationPermissionAccountData) -//! - [SwitchboardWallet](SwitchboardWallet) -//! - [Function](FunctionAccountData) -//! - [FunctionRequest](FunctionRequestAccountData) mod macros; diff --git a/rust/switchboard-solana/src/oracle_program/accounts/aggregator.rs b/rust/switchboard-solana/src/oracle_program/accounts/aggregator.rs index 3b6555db9..38b3f5c28 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/aggregator.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/aggregator.rs @@ -303,27 +303,29 @@ mod tests { } fn create_aggregator(lastest_round: AggregatorRound) -> AggregatorAccountData { - let mut aggregator = AggregatorAccountData::default(); - aggregator.min_update_delay_seconds = 10; - aggregator.latest_confirmed_round = lastest_round; - aggregator.min_job_results = 10; - aggregator.min_oracle_results = 10; - return aggregator; + AggregatorAccountData { + min_update_delay_seconds: 10, + latest_confirmed_round: lastest_round, + min_job_results: 10, + min_oracle_results: 10, + ..Default::default() + } } fn create_round(value: f64, num_success: u32, num_error: u32) -> AggregatorRound { - let mut result = AggregatorRound::default(); - result.num_success = num_success; - result.num_error = num_error; - result.result = SwitchboardDecimal::from_f64(value); - return result; + AggregatorRound { + num_success, + num_error, + result: SwitchboardDecimal::from_f64(value), + ..Default::default() + } } #[test] fn test_accept_current_on_sucess_count() { let lastest_round = create_round(100.0, 30, 0); // num success 30 > 10 min oracle result - let aggregator = create_aggregator(lastest_round.clone()); + let aggregator = create_aggregator(lastest_round); assert_eq!( aggregator.get_result().unwrap(), lastest_round.result.clone() @@ -333,7 +335,7 @@ mod tests { #[test] fn test_reject_current_on_sucess_count() { let lastest_round = create_round(100.0, 5, 0); // num success 30 < 10 min oracle result - let aggregator = create_aggregator(lastest_round.clone()); + let aggregator = create_aggregator(lastest_round); assert!( aggregator.get_result().is_err(), diff --git a/rust/switchboard-solana/src/oracle_program/accounts/buffer_relayer.rs b/rust/switchboard-solana/src/oracle_program/accounts/buffer_relayer.rs index 27af345e1..2bcad2290 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/buffer_relayer.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/buffer_relayer.rs @@ -71,8 +71,8 @@ impl BufferRelayerAccountData { /// /// let buffer_account = BufferRelayerAccountData::new(buffer_account_info)?; /// ``` - pub fn new<'a>( - switchboard_buffer: &'a AccountInfo, + pub fn new( + switchboard_buffer: &AccountInfo, ) -> anchor_lang::Result> { let data = switchboard_buffer.try_borrow_data()?; @@ -87,7 +87,7 @@ impl BufferRelayerAccountData { } pub fn get_result(&self) -> &Vec { - return &self.result; + &self.result } /// Check whether the buffer relayer has been updated in the last max_staleness seconds diff --git a/rust/switchboard-solana/src/oracle_program/accounts/history_buffer.rs b/rust/switchboard-solana/src/oracle_program/accounts/history_buffer.rs index 292a4a1e0..09e126ce6 100644 --- a/rust/switchboard-solana/src/oracle_program/accounts/history_buffer.rs +++ b/rust/switchboard-solana/src/oracle_program/accounts/history_buffer.rs @@ -40,7 +40,7 @@ impl<'a> AggregatorHistoryBuffer<'a> { return Err(SwitchboardError::AccountDiscriminatorMismatch.into()); } - let insertion_idx: u32 = try_from_bytes::(&data[8..12]).unwrap().clone(); + let insertion_idx: u32 = *try_from_bytes::(&data[8..12]).unwrap(); return Ok(Self { insertion_idx: insertion_idx as usize, rows: Ref::map(data, |data| try_cast_slice(&data[12..]).unwrap()), @@ -100,7 +100,7 @@ impl<'a> Owner for AggregatorHistoryBuffer<'a> { #[cfg(test)] mod tests { use super::*; - use crate::prelude::*; + impl<'info, 'a> Default for AggregatorHistoryBuffer<'a> { fn default() -> Self { unsafe { std::mem::zeroed() } @@ -142,7 +142,7 @@ mod tests { #[test] fn test_history_buffer() { - let mut history_data = HISTORY_BUFFER_DATA.clone(); + let mut history_data = HISTORY_BUFFER_DATA; let mut lamports = 0; let history_account_info = AccountInfo::new( &HISTORY_BUFFER_PUBKEY, @@ -280,7 +280,7 @@ mod tests { }; // Get past result - match history_buffer.lower_bound(0646249911) { + match history_buffer.lower_bound(646249911) { None => (), Some(row) => panic!("retrieved row when no value was expected {:?}", row.value), }; diff --git a/rust/switchboard-solana/src/oracle_program/instructions/vrf_close.rs b/rust/switchboard-solana/src/oracle_program/instructions/vrf_close.rs index 89fbe4962..e0f7b952e 100644 --- a/rust/switchboard-solana/src/oracle_program/instructions/vrf_close.rs +++ b/rust/switchboard-solana/src/oracle_program/instructions/vrf_close.rs @@ -106,52 +106,52 @@ impl<'info> VrfClose<'info> { fn to_account_metas(&self, is_signer: Option) -> Vec { vec![ AccountMeta { - pubkey: self.authority.key.clone(), + pubkey: *self.authority.key, is_signer: true, // overwrite, authority has to sign is_writable: self.authority.is_writable, }, AccountMeta { - pubkey: self.vrf.key.clone(), + pubkey: *self.vrf.key, is_signer: self.vrf.is_signer, is_writable: self.vrf.is_writable, }, AccountMeta { - pubkey: self.permission.key.clone(), + pubkey: *self.permission.key, is_signer: self.permission.is_signer, is_writable: self.permission.is_writable, }, AccountMeta { - pubkey: self.queue.key.clone(), + pubkey: *self.queue.key, is_signer: self.queue.is_signer, is_writable: self.queue.is_writable, }, AccountMeta { - pubkey: self.queue_authority.key.clone(), + pubkey: *self.queue_authority.key, is_signer: self.queue_authority.is_signer, is_writable: self.queue_authority.is_writable, }, AccountMeta { - pubkey: self.program_state.key.clone(), + pubkey: *self.program_state.key, is_signer: self.program_state.is_signer, is_writable: self.program_state.is_writable, }, AccountMeta { - pubkey: self.escrow.to_account_info().key.clone(), + pubkey: *self.escrow.to_account_info().key, is_signer: self.escrow.to_account_info().is_signer, is_writable: self.escrow.to_account_info().is_writable, }, AccountMeta { - pubkey: self.sol_dest.key.clone(), + pubkey: *self.sol_dest.key, is_signer: self.sol_dest.is_signer, is_writable: self.sol_dest.is_writable, }, AccountMeta { - pubkey: self.escrow_dest.to_account_info().key.clone(), + pubkey: *self.escrow_dest.to_account_info().key, is_signer: self.escrow_dest.to_account_info().is_signer, is_writable: self.escrow_dest.to_account_info().is_writable, }, AccountMeta { - pubkey: self.token_program.key.clone(), + pubkey: *self.token_program.key, is_signer: self.token_program.is_signer, is_writable: self.token_program.is_writable, }, diff --git a/rust/switchboard-solana/src/oracle_program/instructions/vrf_lite_close.rs b/rust/switchboard-solana/src/oracle_program/instructions/vrf_lite_close.rs index 2aaafd74e..1fd925a5b 100644 --- a/rust/switchboard-solana/src/oracle_program/instructions/vrf_lite_close.rs +++ b/rust/switchboard-solana/src/oracle_program/instructions/vrf_lite_close.rs @@ -89,52 +89,52 @@ impl<'info> VrfLiteClose<'info> { fn to_account_metas(&self, is_signer: Option) -> Vec { vec![ AccountMeta { - pubkey: self.authority.key.clone(), + pubkey: *self.authority.key, is_signer: true, // overwrite, authority has to sign is_writable: self.authority.is_writable, }, AccountMeta { - pubkey: self.vrf_lite.key.clone(), + pubkey: *self.vrf_lite.key, is_signer: self.vrf_lite.is_signer, is_writable: self.vrf_lite.is_writable, }, AccountMeta { - pubkey: self.permission.key.clone(), + pubkey: *self.permission.key, is_signer: self.permission.is_signer, is_writable: self.permission.is_writable, }, AccountMeta { - pubkey: self.queue.key.clone(), + pubkey: *self.queue.key, is_signer: self.queue.is_signer, is_writable: self.queue.is_writable, }, AccountMeta { - pubkey: self.queue_authority.key.clone(), + pubkey: *self.queue_authority.key, is_signer: self.queue_authority.is_signer, is_writable: self.queue_authority.is_writable, }, AccountMeta { - pubkey: self.program_state.key.clone(), + pubkey: *self.program_state.key, is_signer: self.program_state.is_signer, is_writable: self.program_state.is_writable, }, AccountMeta { - pubkey: self.escrow.to_account_info().key.clone(), + pubkey: *self.escrow.to_account_info().key, is_signer: self.escrow.to_account_info().is_signer, is_writable: self.escrow.to_account_info().is_writable, }, AccountMeta { - pubkey: self.sol_dest.key.clone(), + pubkey: *self.sol_dest.key, is_signer: self.sol_dest.is_signer, is_writable: self.sol_dest.is_writable, }, AccountMeta { - pubkey: self.escrow_dest.to_account_info().key.clone(), + pubkey: *self.escrow_dest.to_account_info().key, is_signer: self.escrow_dest.to_account_info().is_signer, is_writable: self.escrow_dest.to_account_info().is_writable, }, AccountMeta { - pubkey: self.token_program.key.clone(), + pubkey: *self.token_program.key, is_signer: self.token_program.is_signer, is_writable: self.token_program.is_writable, }, diff --git a/rust/switchboard-solana/src/oracle_program/instructions/vrf_lite_request_randomness.rs b/rust/switchboard-solana/src/oracle_program/instructions/vrf_lite_request_randomness.rs index 9a7c51d1b..41d0ecf91 100644 --- a/rust/switchboard-solana/src/oracle_program/instructions/vrf_lite_request_randomness.rs +++ b/rust/switchboard-solana/src/oracle_program/instructions/vrf_lite_request_randomness.rs @@ -101,52 +101,52 @@ impl<'info> VrfLiteRequestRandomness<'info> { fn to_account_metas(&self, is_signer: Option) -> Vec { vec![ AccountMeta { - pubkey: self.authority.key.clone(), + pubkey: *self.authority.key, is_signer: true, // overwrite, authority has to sign is_writable: self.authority.is_writable, }, AccountMeta { - pubkey: self.vrf_lite.key.clone(), + pubkey: *self.vrf_lite.key, is_signer: self.vrf_lite.is_signer, is_writable: self.vrf_lite.is_writable, }, AccountMeta { - pubkey: self.queue.key.clone(), + pubkey: *self.queue.key, is_signer: self.queue.is_signer, is_writable: self.queue.is_writable, }, AccountMeta { - pubkey: self.queue_authority.key.clone(), + pubkey: *self.queue_authority.key, is_signer: self.queue_authority.is_signer, is_writable: self.queue_authority.is_writable, }, AccountMeta { - pubkey: self.data_buffer.key.clone(), + pubkey: *self.data_buffer.key, is_signer: self.data_buffer.is_signer, is_writable: self.data_buffer.is_writable, }, AccountMeta { - pubkey: self.permission.key.clone(), + pubkey: *self.permission.key, is_signer: self.permission.is_signer, is_writable: self.permission.is_writable, }, AccountMeta { - pubkey: self.escrow.to_account_info().key.clone(), + pubkey: *self.escrow.to_account_info().key, is_signer: self.escrow.to_account_info().is_signer, is_writable: self.escrow.to_account_info().is_writable, }, AccountMeta { - pubkey: self.recent_blockhashes.key.clone(), + pubkey: *self.recent_blockhashes.key, is_signer: self.recent_blockhashes.is_signer, is_writable: self.recent_blockhashes.is_writable, }, AccountMeta { - pubkey: self.program_state.key.clone(), + pubkey: *self.program_state.key, is_signer: self.program_state.is_signer, is_writable: self.program_state.is_writable, }, AccountMeta { - pubkey: self.token_program.key.clone(), + pubkey: *self.token_program.key, is_signer: self.token_program.is_signer, is_writable: self.token_program.is_writable, }, diff --git a/rust/switchboard-solana/src/oracle_program/instructions/vrf_pool_request_randomness.rs b/rust/switchboard-solana/src/oracle_program/instructions/vrf_pool_request_randomness.rs index 75f3f6312..bac0d13b4 100644 --- a/rust/switchboard-solana/src/oracle_program/instructions/vrf_pool_request_randomness.rs +++ b/rust/switchboard-solana/src/oracle_program/instructions/vrf_pool_request_randomness.rs @@ -99,62 +99,62 @@ impl<'info> VrfPoolRequestRandomness<'info> { ) -> Vec { let mut account_metas = vec![ AccountMeta { - pubkey: self.authority.key.clone(), + pubkey: *self.authority.key, is_signer: true, // overwrite, authority has to sign is_writable: self.authority.is_writable, }, AccountMeta { - pubkey: self.vrf_pool.key.clone(), + pubkey: *self.vrf_pool.key, is_signer: self.vrf_pool.is_signer, is_writable: self.vrf_pool.is_writable, }, AccountMeta { - pubkey: self.escrow.to_account_info().key.clone(), + pubkey: *self.escrow.to_account_info().key, is_signer: self.escrow.to_account_info().is_signer, is_writable: self.escrow.to_account_info().is_writable, }, AccountMeta { - pubkey: self.mint.to_account_info().key.clone(), + pubkey: *self.mint.to_account_info().key, is_signer: self.mint.to_account_info().is_signer, is_writable: self.mint.to_account_info().is_writable, }, AccountMeta { - pubkey: self.queue.key.clone(), + pubkey: *self.queue.key, is_signer: self.queue.is_signer, is_writable: self.queue.is_writable, }, AccountMeta { - pubkey: self.queue_authority.key.clone(), + pubkey: *self.queue_authority.key, is_signer: self.queue_authority.is_signer, is_writable: self.queue_authority.is_writable, }, AccountMeta { - pubkey: self.data_buffer.key.clone(), + pubkey: *self.data_buffer.key, is_signer: self.data_buffer.is_signer, is_writable: self.data_buffer.is_writable, }, AccountMeta { - pubkey: self.recent_blockhashes.key.clone(), + pubkey: *self.recent_blockhashes.key, is_signer: self.recent_blockhashes.is_signer, is_writable: self.recent_blockhashes.is_writable, }, AccountMeta { - pubkey: self.program_state.key.clone(), + pubkey: *self.program_state.key, is_signer: self.program_state.is_signer, is_writable: self.program_state.is_writable, }, AccountMeta { - pubkey: self.token_program.key.clone(), + pubkey: *self.token_program.key, is_signer: self.token_program.is_signer, is_writable: self.token_program.is_writable, }, ]; let rem_account_metas: Vec = remaining_accounts - .into_iter() + .iter() .flat_map(|acc| acc.to_account_metas(None)) .collect(); account_metas.extend(rem_account_metas); - return account_metas; + account_metas } } diff --git a/rust/switchboard-solana/src/oracle_program/instructions/vrf_request_randomness.rs b/rust/switchboard-solana/src/oracle_program/instructions/vrf_request_randomness.rs index bb83143b7..5a39a011d 100644 --- a/rust/switchboard-solana/src/oracle_program/instructions/vrf_request_randomness.rs +++ b/rust/switchboard-solana/src/oracle_program/instructions/vrf_request_randomness.rs @@ -119,62 +119,62 @@ impl<'info> VrfRequestRandomness<'info> { fn to_account_metas(&self, is_signer: Option) -> Vec { vec![ AccountMeta { - pubkey: self.authority.key.clone(), + pubkey: *self.authority.key, is_signer: true, // overwrite, authority has to sign is_writable: self.authority.is_writable, }, AccountMeta { - pubkey: self.vrf.key.clone(), + pubkey: *self.vrf.key, is_signer: self.vrf.is_signer, is_writable: self.vrf.is_writable, }, AccountMeta { - pubkey: self.oracle_queue.key.clone(), + pubkey: *self.oracle_queue.key, is_signer: self.oracle_queue.is_signer, is_writable: self.oracle_queue.is_writable, }, AccountMeta { - pubkey: self.queue_authority.key.clone(), + pubkey: *self.queue_authority.key, is_signer: self.queue_authority.is_signer, is_writable: self.queue_authority.is_writable, }, AccountMeta { - pubkey: self.data_buffer.key.clone(), + pubkey: *self.data_buffer.key, is_signer: self.data_buffer.is_signer, is_writable: self.data_buffer.is_writable, }, AccountMeta { - pubkey: self.permission.key.clone(), + pubkey: *self.permission.key, is_signer: self.permission.is_signer, is_writable: self.permission.is_writable, }, AccountMeta { - pubkey: self.escrow.to_account_info().key.clone(), + pubkey: *self.escrow.to_account_info().key, is_signer: self.escrow.to_account_info().is_signer, is_writable: self.escrow.to_account_info().is_writable, }, AccountMeta { - pubkey: self.payer_wallet.to_account_info().key.clone(), + pubkey: *self.payer_wallet.to_account_info().key, is_signer: self.payer_wallet.to_account_info().is_signer, is_writable: self.payer_wallet.to_account_info().is_writable, }, AccountMeta { - pubkey: self.payer_authority.key.clone(), + pubkey: *self.payer_authority.key, is_signer: self.payer_authority.is_signer, is_writable: self.payer_authority.is_writable, }, AccountMeta { - pubkey: self.recent_blockhashes.key.clone(), + pubkey: *self.recent_blockhashes.key, is_signer: self.recent_blockhashes.is_signer, is_writable: self.recent_blockhashes.is_writable, }, AccountMeta { - pubkey: self.program_state.key.clone(), + pubkey: *self.program_state.key, is_signer: self.program_state.is_signer, is_writable: self.program_state.is_writable, }, AccountMeta { - pubkey: self.token_program.key.clone(), + pubkey: *self.token_program.key, is_signer: self.token_program.is_signer, is_writable: self.token_program.is_writable, },